protected $array=array();
//属性不存在时,调用。赋值调用__set方法,读取调用__get
function __set($name, $value)
{
$this->array[$name]=$value;
}
function __get($name)
{
return $this->array[$name];
}
//方法不存在时,调用__call
function __call($func,$param){
var_dump($func,$param);
return "magic function\n";
}
//静态方法不存在时,调用__callStatic
static function __callStatic($func,$param){
var_dump($func,$param);
return "magic function\n";
}
//把对象当字符串用时
function __toString()
{
// TODO: Implement __toString() method.
return __METHOD__;
}
//把对象当函数用时
function __invoke($param)
{
// TODO: Implement __invoke() method.
var_dump($param);
return ‘invoke’;
}