魔术常量
__LINE__
文件中的当前行号
__FILE__
文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
__DIR__
文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
__FUNCTION__
函数名称常量返回该函数被定义时的名字(区分大小写)。
__CLASS__
类的名称常量返回该类被定义时的名字(区分大小写)。
__TRAIT__
Trait 的名字常量返回 trait 被定义时的名字(区分大小写)。
__METHOD__
类的方法名返回该方法被定义时的名字(区分大小写)。
__NAMESPACE__
当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。
魔术方法
__construct
构造方法
__destruct
析构方法
__toString
将对象转化为字符串时调用,返回一个字符串
__invoke
对象作为方法被调用时自动调用
__call
调用未声明的成员方法时调用(将方法名和参数数组作为两个形参,可用来实现方法重载)
__callStatic
调用未声明的静态成员方法时调用(将方法名和参数数组作为两个形参,可用来实现方法重载)
__get
访问未声明或权限不允许的成员变量时调用(将变量名作为形参,可用来实现动态添加参数)
__set
设置未声明或权限不允许的成员变量时调用(将变量名和设置的值作为两个形参,可用来实现动态添加参数)
__isset
对未声明或权限不允许的成员变量调用isset()或empty()时调用(将变量名作为形参,返回值0代表不存在,1代表存在,注意:如果存在还会调用__get()方法)
__unset
对未声明或权限不允许的成员变量调用unset()方法时调用(将变量名作为形参)
__clone
对对象使用clone方法时调用(注意:此方法中的$this指的是将复制给其他对象的$this,原来的$this不变)