欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

147 php 魔术方法

程序员文章站 2022-05-10 13:42:13
...
魔术方法

__get , __set (访问对象属性不存在时回调)

classObject{protected$array = array();

    /**
     * [__set 访问不存在的类对象属性]
     */function__set($key,$value){$this -> array[$key] = $value;
    }

    function__get($key){
        var_dump(__METHOD__);
         return$this -> array[$key] ;
    }
}

$Obj = new Object();
$Obj  -> title = "Hello World";
echo$Obj -> title;

__call (访问对象方法不存在时回调)

classObject{/**
     * [__class 访问类方法不存在时回调]
     * @param  [type] $func  [description]
     * @param  [type] $param [description]
     * @return [type]        [description]
     */function__call($func,$param){
        var_dump($func,$param );
        echo"magic function \n";
    }
 }
 $Obj = new Object();
 echo$Obj -> test("hello",123); 

__toString(对象转化为字符串)

classLoader{/**
     * [__toString 将对象转化字符串]
     * @return string [description]
     */
    function __toString(){
        return __CLASS__;
    }
}
$Obj = new Object();
echo $Obj;

__invoke(对象做函数)

classLoader{/**
     * [__invoke 将对象当作函数调用]
     * @param  [type] $param [description]
     * @return [type]        [description]
     */
    function __invoke($param){
        var_dump($param);
        return"invoke\n";
    }
}
$Obj = new Object();
echo $Obj("test");
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了147 php 魔术方法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。