美文网首页
php的魔术方法和魔术常量

php的魔术方法和魔术常量

作者: 青青玉立 | 来源:发表于2018-03-28 09:43 被阅读0次

    魔术方法

    __construct() #创建一个新的 SimpleXMLElement 对象 在每次创建新对象时先调用此方法

    __destruct()  #对象的所有引用都被删除或者当对象被显式销毁时执行

    __call()      #当对一个“对象”使用一个未定义的方法的时候,会自动调用类中预先定义的__call()这个魔术方法

    __callStatic() #当一个类调用一个未定义的静态方法的时候,会自动调用类中预先定义的__callStatic()这个静态魔术方法

    __get()        #读取不可访问属性的值时,__get() 会被调用

    __set()        #在给不可访问属性赋值时,__set() 会被调用

    __isset()      #用于检测私有属性值是否被设定

    __unset()      #方法用于删除私有属性

    __sleep()      #用serialize() 函数实例化一个类的时候会检查类中是否存在一个魔术方法 __sleep()。如果存在,该方法会先被调用,然后才执行序列化操作

    __wakeup()    #unserialize() 会检查是否存在一个 __wakeup() 方法。如果存在,则会先调用 __wakeup 方法

    __toString()  #直接输出对象引用则自动调用了对象中的__toString()方法

    __invoke()    #把一个对象当成一个函数去执行时会调用这个函数 可以传参数

    __set_state()  #当调用 var_export() 导出类时,此静态 方法会被调用。  最大的作用可以复制一个对象

    __clone()      #对象复制

    __debugInfo()  #var_dump()一个类时的回应,返回一个包含对象属性的数组

    魔术常量

    __LINE__ 文件中的当前行号

    __FILE__  文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径

    __DIR__    文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增)

    __FUNCTION__  函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的

    __CLASS__  类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 __CLASS__ 对 trait 也起作用。当用在 trait 方法中时,__CLASS__ 是调用 trait 方法的类的名字。

    __TRAIT__  Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)

    __METHOD__ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)

    __NAMESPACE__  当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)

    相关文章

      网友评论

          本文标题:php的魔术方法和魔术常量

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