首页 > 技术文章 > 魔术方法

jiafangfang 2017-07-22 22:13 原文

特点:

 

——(两个下划线)开头的类方法,会自动被调用。

常见的魔术方法有15个:

__set(变量名称变量值)(不需要有返回值):在给不可访问属性赋值时,__set() 会被调用。

标准形式不能改:

 

需要设置值和值的类的属性名称,

魔术方法必须是公共的(Public),且不能定义为静态的(static)被访问的属性名称,必须是字符串。当在类的外部调用不能直接访问不能直接访问的属性时,该函数会自动被调用。

 

property_exists(字符串形式的类名或要检查的对象,属性名字)— 检查对象或类是否具有该属性 。果该属性存在则返回 TRUE ,如果不存在则返回 FALSE ,出错返回 NULL 

 

 

__get(要调用的变量名):

标准形式不能改:

 

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

__get() 必须有返回值,最后肯定是以return结束。

unset() :销毁指定的变量。

Isset(): 检测变量是否设置

当不可访问属性调用isset()或empty()时isset()会被调用,传入的类是属性名称。

如果属性存在则返回属性值,反之返回null。

__Call:在对象中调用一个不可访问方法时,__call会自动调用。

标准格式:

__callStatic:用静态方式中调用一个不可访问方法时

标准格式:

 

推荐阅读