本文共 1233 字,大约阅读时间需要 4 分钟。
看代码:
a); //output: 123var_dump($s->b); //output: 123var_dump($s->c); //output: nullvar_dump($s->d); //output: 0var_dump($s->e); //output: 123 $s->a = 3; //output: This is set function$s->c = 3; //no output$s->f = 3; //output: This is set function?>
由代码可以知道,
应用,定义配置变量,
public $ossClient,$bucket;protected $config = array( 'maxSize' => -1, // 上传文件的最大值 'allowExts' => array(), // 允许上传的文件后缀 留空不作后缀检查 'allowTypes' => array(), // 允许上传的文件类型 留空不做检查 'savePath' => '',// 上传文件保存路径 'saveRule' => 'uniqid',// 上传文件命名规则 'hashType' => 'md5_file',// 上传文件Hash规则函数名 );public function __get($name){ if(isset($this->config[$name])) { return $this->config[$name]; } return null;}public function __set($name,$value){ if(isset($this->config[$name])) { $this->config[$name] = $value; }}public function __isset($name){ return isset($this->config[$name]);}
上面的public属性不会调用到魔法方法,
配置中的一些变量,则会调用到魔法方法。这种机制对于配置设置还是很有帮助的。
本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/5411403.html,如需转载请自行联系原作者