码迷,mamicode.com
首页 > 其他好文 > 详细

魔术方法

时间:2017-07-22 23:42:20      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:exists   call   return   false   标准   分享   tle   iss   结束   

特点:

 

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

常见的魔术方法有15个:

技术分享

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

标准形式不能改:

技术分享

 

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

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

 

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

 

 

__get(要调用的变量名):

标准形式不能改:

技术分享

 

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

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

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

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

技术分享

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

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

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

标准格式:

技术分享

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

标准格式:

技术分享

 

魔术方法

标签:exists   call   return   false   标准   分享   tle   iss   结束   

原文地址:http://www.cnblogs.com/jiafangfang/p/7223068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!