PHP的魔术方法_php

  • 内容
  • 评论
  • 相关

1、__get/__set:对对象属性的接管
2、__call/__callStatic:控制php对象方法的使用
3、__toString:将php对象转换成字符串
4、__invoke:将一个php对象当成函数来执行时来回调这个方法

 class Object {  protected $array = array();      function __set($key,$value)     {         var_dump(__METHOD__);         $this->array[$key] = $value;     }     function __get($key)     {         var_dump(__METHOD__);         return $this->array[$key];     }      function __call($func,$param)     {         var_dump($func,$param);         return magic mathod __call;     }      static function __callStatic($func,$param)     {         var_dump($func,$param);         return magic mathod __callStatic;     }      function __toString()     {         return __toString;     }      function __invoke($param)     {         var_dump($param);         return invoke;     } } 

$Obj = new Object();

$Obj->title = “你好”;//当对一个对象不存在的属性赋值的时候,它就会自动调用__set方法

echo $Obj->title;//对去读取一个对象不存在的属性的时候,它就会自动调用__get方法

echo $Obj->test(“hello”,”123”); //当调用一个对象不存在的方法时,就会自动调用__call方法

echo $Obj::test1(“hello1”,”1234”); //当调用一个对象不存在的静态方法时,就会自动调用__callStatic方法

echo $Obj;//当直接输出一个对象时(因为对象不能直接输出),就会自动调用__toString方法把对象转换成字符串

echo $Obj(“hello”);//当将一个对象当成一个函数来使用的时候,就会自动调用__invoke方法

欢迎大家阅读《PHP的魔术方法_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

原创文章,转载请注明: 转载自搞代码

本文链接地址: PHP的魔术方法_php

微信支付二维码

微信 赏一包辣条吧~

支付宝支付二维码

支付宝 赏一听可乐吧~

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注