美文网首页
PHP魔术方法

PHP魔术方法

作者: _Henry_ | 来源:发表于2017-05-09 14:36 被阅读0次

    总的来说, 有下面几个魔术函数
    __construct() __destruct() __get() __set() __isset() __unset() __call() __callStatic()
    __sleep() __wakeup() __toString() __set_state() __clone() __autoload()

    __construct()当实例化一个对象的时候,这个对象的这个方法首先被调用。
    __destruct()当删除一个对象或对象操作终止的时候,调用该方法。
    __set()在给不可访问属性赋值时会被调用。
    __get()读取不可访问属性的值时会被调用。
    __isset()当对不可访问属性调用 isset()或 empty()时,会被调用。
    __unset()当对不可访问属性调用 unset()时会被调用。
    __sleep当进行序列化对象时候调用
    __wakeup当进行反序列对象时候调用
    __toString当直接打印一个对象的时候,这个方法将会被调用
    __call($func, $param) 当尝试调用一个不存在的方法的时候被调用. 这个方法必须有两个参数,第一个为调用的方法名,第二个是一个被调用方法的参数数组。
    __callStatic()当尝试调用一个不存在的静态方法的时候被调用.这个方法必须有两个参数,第一个为调用的方法名,第二个是一个被调用方法的参数数组。
    __set_state()当用var_export导出实例的时候被调用
    __clone()当克隆实例时候被调用.
    __autoload()函数.当创建一个实例化的时候,如果对应的类不存在,则会被调用。(可跟spl_autoload_register() 做一下比较)

    相关文章

      网友评论

          本文标题:PHP魔术方法

          本文链接:https://www.haomeiwen.com/subject/hhobtxtx.html