标签:
__set、__get魔术方法:
//文件名:Object.php
<?php
namespace 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"
    哎哟喂
*/
标签:
原文地址:http://www.cnblogs.com/shark1100913/p/5522820.html