在smarty3中,模板目录$template_dir和编译目录$compile_dir都是用protected修饰的,为什么在类外面可以直接访问呢呢??
我把源代码中的protected改成private居然还可以访问,这是为什么呢?
------解决方案--------------------
他不是有这样的定义吗?
php code public function __get($name) { $allowed = array( 'template_dir' => 'gettemplatedir', 'config_dir' => 'getconfigdir', 'plugins_dir' => 'getpluginsdir', 'compile_dir' => 'getcompiledir', 'cache_dir' => 'getcachedir', ); if (isset($allowed[$name])) { return $this->{$allowed[$name]}(); } else { trigger_error('undefined property: '. get_class($this) .'::$'. $name, e_user_notice); } }
