php中的常用魔术方法汇总
《:php中的常用魔术方法汇总》要点: 这篇文章详细的对php中的常用魔术办法进行了整理归纳,分享给大家供大家参考,具体内容如下PHP学习 1、PHP把所有”__”开头的方法当做魔术方法,所以任何自定义的方法都不能是”__”开头 代码: //实例化对象时,会调用对象的__construct办法 $obj = new Object(); //给对象不存在的属性赋值时,会调用对象的__set办法 $obj->title = "hello"; //使用对象不存在的属性时,会调用对象的__get办法 echo $obj->title; //调用对象不存在的办法时,会调用对象的__call办法 $obj->test("hello",123,567); //调用不存在的类静态办法时,会调用类的__callStatic办法 Object::staticMethod("static","not found method"); //直接输出对象时,会调用对象的__toString办法 echo $obj; //将一个对象当作函数一样使用时,会调用对象的__invoke办法 echo $obj("test"); //克隆对象时,会调用对象的__clone办法 $obj2 = clone $obj; //判断对象属性是否存在时,会调用对象的__isset办法 var_dump(isset($obj->aaa)); //销毁对象属性时,会调用对象的__unset办法 unset($obj->aaa); class Object{ protected $array = array(); function __construct() { echo __METHOD__."你正在实例化对象<br>"; } function __set($name,$value) { $this->array[$name]=$value; } function __get($name) { return $this->array[$name]; } function __call($name,$arguments) { var_dump($name,$arguments); return "magic functionn"; } static function __callStatic($name,$arguments); return "magic static function"; } function __toString() { return __CLASS__.'<br>'; } function __invoke($arguments) { var_dump($arguments); return __METHOD__.'<br>'; } function __clone() { echo __METHOD__."你正在克隆对象<br>"; } function __isset($name) { echo __METHOD__."你想判断有没有属性".$name."<br>"; return 1; } function __unset($name) { echo __METHOD__."你想删除属性".$name."<br>"; } function __destruct() { echo __METHOD__."你正在注销对象<br>"; } } 以上就是关于php中的常用魔术办法的全部内容,希望对大家的学习有所帮助. 《:php中的常用魔术方法汇总》是否对您有启发,欢迎查看更多与《:php中的常用魔术方法汇总》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |