魔术方法
__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 新增)