__set ,__get;
当对一个对象不存在的属性赋值的时候,将调用对象对应的类中的__set魔术方法
当对输出一个对象不存在的属性的值的时候,将调用对象对应的类中的__get魔术方法
__call,__callstatic
当调用一个对象不存在的方法的时候,将调用对象对应的类中的__call魔术方法
__callstatic 则对应着静态方法
public function __call($method, $args)
{
// $method 方法名
// $args 参数
return call_user_func_array([$this->handler, $method], $args);
}
__toString
当echo 一个对象的时候,对象本身不是一个字符串,无法输出,但会调用类中的__toString魔术方法
__invoke
当一个对象当做函数使用时,就会调用类中__invoke魔术方法