PHP魔术常量/魔术方法

By kcersing , 18 一月, 2018

魔术常量

__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不变)

 

 

标签