__set、__get魔术方法:
//文件名:Object.php
<?phpnamespace IMooc;class Object{ protected $array = array(); function __set($name, $value)//set魔术方法 { var_dump(__METHOD__);//输出当前方法 $this->array[$name]=$value;//$name=title,$value="哎哟喂" } function __get($name)//get魔术方法 { var_dump(__METHOD__);//输出当前方法 return $this->array[$name]; }}
//文件名:index.php
<?php define(‘a‘,__DIR__);include ‘/IMooc/Loader.php‘;spl_autoload_register(‘\\IMooc\\Loader::autoload‘); $Object = new \IMooc\Object(); $Object->title="哎哟喂";//当对不存在属性进行赋值时,它会调用__set魔术方法 echo $Object->title;//当读取对象不存在属性时,会调用__get魔术方法/*输出: string(19) "IMooc\Object::__set" string(19) "IMooc\Object::__get" 哎哟喂*/
时间: 2024-10-13 11:05:27