php 常见的魔术变量使用场景


  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’;
}


文章作者: Jacky
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Jacky !
  目录