魔幻(术)方法
__construct()实例化类时自动调用。__destruct()类对象使用结束时自动调用。__set()在给未定义的属性赋值的时候调用。__get()调用未定义的属性时候调用。__isset()使用isset()或empty()函数时候会调用。__unset()使用unset()时候会调用。__sleep()使用serialize序列化时候调用。__wakeup()使用unserialize反序列化的时候调用。__call()调用一个不存在的方法的时候调用。__callStatic()调用一个不存在的静态方法是调用。__toString()把对象转换成字符串的时候会调用。比如 echo。__invoke()当尝试把对象当方法调用时调用。__set_state()当使用var_export()函数时候调用。接受一个数组参数。__clone()当使用clone复制一个对象时候调用。
PHP魔术常量
LINE:文件中的当前行号。FILE:文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。DIR:文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(FILE)。除非是根目录,否则目录中名不包括末尾的斜杠。NAMESPACE:当前命名空间的名称。TRAIT:Trait 的名字。Trait 名包括其被声明的作用域(例如 Foo\Bar)。CLASS:当前类的名称。类名包括其被声明的作用域(例如 Foo\Bar)。当用在 trait 方法中时,CLASS 是调用 trait 方法的类的名字。FUNCTION:当前函数的名称。匿名函数则为 {closure}。METHOD:类的方法名。