美文网首页
PHP中常用魔术函数及魔术常量总结

PHP中常用魔术函数及魔术常量总结

作者: 孤独而灿烂的郑金叹 | 来源:发表于2018-06-11 23:11 被阅读0次

    PHP中会使用到很多魔术函数和魔术常量:
    以Yii2.0中调用model中方法来举例:

    use frontend\models\common;
    /**此处省略部分代码*/
    $common = new common();
    $content = Common::$app->getModule()
    /**
    这里getModule()可以改写为Module函数会调用__get() 获取这个函数
    */
    

    __construct()
    实例化对象时被调用,当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。
    __destruct()
    当删除一个对象或对象操作终止时被调用
    __call()
    调用方法,若方法存在则直接调用,若不存在调用__call()
    __get()
    调用对象属性,若属性存在,返回属性值,若不存在则调用—__get()
    __set()
    设置对象属性,若属性存在,直接赋值,若不存在调用__set()
    __tostring()
    打印一个对象的被调用
    __clone()
    克隆对象的时候被调用,
    _sleep()
    serialize()前检查 __sleep(),首先 在序列化之前,关闭对象可能具有的任何数据库连接等. 第二. 指定对象中需要被序列化的成员属性,如果某个属性比较大而不需要储存下来,可以不把它写进__sleep要返回的数组中,这样该属性就不会被序列化
    __wakeup()
    unserialize()检查_wakeup()函数调用
    __isset()
    判断一个对象存在的时候调用
    __unset()
    unset一个对象的时候调用
    __set_state()
    调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。
    __autoload()
    实例化一个对象时,如果对应的类不存在,则该方法被调用。

    魔术常量:
    _LINE__返回所在行
    __FILE__返回所在文件
    __FUNCTION__返回定义函数名字
    __CLASS__返回定义类名字
    __METHOD__返回定义方法名

    相关文章

      网友评论

          本文标题:PHP中常用魔术函数及魔术常量总结

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