php对魔术办法的意识:一、【_set】属性没有存正在时主动设置属性;二、【__get】属性没有存正在或不克不及读取时,设置该办法可读取;三、【__call】办法没有存正在时,执行;四、【__callStatic】动态办法没有存正在时,执行。
php对魔术办法的意识:
一、_set
:属性没有存正在时主动设置属性
/** * 属性没有存正在时经过__set主动设置属性 * @param $key [键名] * @param $value [属性值] */ function __set($key,$value){ $this->arr[$key] = $value; } 代码: $object->title = 'blue'; //设置没有存正在的属性,挪用__set() echo $object->title,'<br/>'; //输入没有存正在的属性,挪用__get() 输入: blue
二、__get
:属性没有存正在或不克不及读取时,设置该办法可读取
/** * 属性没有存正在或不克不及读取(属性为公有private)时,经过__get读取 * @param $key 键名 * @return 属性 */ function __get($key){ return $this->arr[$key]; }
三、__call
:办法没有存正在时,执行
/** * 办法没有存正在时,执行__call办法 * @param $func [办法名] * @param $param [参数] * @return [description] */ function __call($func,$param){ var_dump($func); echo '<br/>'; var_dump($param); echo '<br/>'; } 代码: $object -> show('hello','world'); //挪用没有存正在的办法,挪用__call() 输入: string(4) "show" array(2) { [0]=> string(5) "hello" [1]=> string(5) "world" }
四、__callStatic
:动态办法没有存正在时,执行
/** * 动态办法没有存正在时,执行__callStatic办法 * @param $func [办法名] * @param $param [参数] * @return [description] */ static function __callStatic($func,$param){ var_dump($func); echo '<br/>'; var_dump($param); echo '<br/>'; } 代码: IMooc\Object::show('hello','world'); //挪用没有存正在的动态办法,挪用__callStatic() 输入: string(4) "show" array(2) { [0]=> string(5) "hello" [1]=>string(5) "world" }
五、__toString
:当工具转换为字符串时,执行
/** * 当工具转换为字符串时,执行__toString办法 * @return string [description] */ function __toString{ return __CLASS__; } 代码: echo $object,'<br/>'; //将工具以字符串方式输入,挪用__toString() 输入: IMooc\Object
六、__invoke
:当把工具当成函数来应用时,执行
/** * 当把工具当成函数来应用时,执行__invoke办法 * @param [type] $param [参数] * @return [type] [description] */ function __invoke($param){ var_dump($param); } 代码: echo $object('hello'); //将工具当函数应用,挪用__invoke() 输入: string(5) "hello"
相干收费学习保举:php编程(视频)
以上就是php对魔术办法的意识的具体内容,更多请存眷资源魔其它相干文章!
标签: php php教程 魔术方法 php故障解决 php使用问题
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!