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

魔术方法

时间:2017-07-22 21:01:37      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:不能   size   inf   ret   自动调用   nbsp   property   des   link   

1.魔术方法:

__construct()__destruct()__call()__callStatic()__get()__set()__isset()__unset()__sleep()__wakeup()__toString()__invoke()__set_state()__clone()__debugInfo() 等方法在 PHP 中被称为"魔术方法"(Magic methods)。在命名自己的类方法时不能使用这些方法名,除非是想使用其魔术功能

 

①__get():

__get魔术方法,当在类的外部调用不能直接访问的属性时,该函数方法被自动调用
 下面的格式是该魔术方法的标准形式,不能改变
  魔术方法必须是公共的(public),且不能定义为静态的(static)
 __get必须有返回值,所以最后结束的肯定是return语句

注意:property_exists 它用于判断类当中是否包含某个指定名称的属性

②__set():

魔术方法__set,当设置类中的不能直接访问的属性时,自动调用该函数方法
下面的格式是该魔术方法的标准形式,不能改变
 __set不需要返回值

③__isset():

魔术方法,判断类中的属性是否被设置了
当对不可访问属性调用 isset() 或 empty() 时,__isset() 会被调用。

④__unset():

当对不可访问属性调用 unset时,__unset()会被调用。

⑤__call():

在对象中调用一个不能直接访问的非静态方法时,__call() 会被自动调用

⑥__toString():

它也是魔术方法,当以字符串格式输出类的对象时,默认自动调用
该函数方法结束时必须有一个return语句,并且返回值必须是字符串

⑦__clone():

当类的对象被克隆是自动调
在这里可以修改被克隆的数据值

魔术方法

标签:不能   size   inf   ret   自动调用   nbsp   property   des   link   

原文地址:http://www.cnblogs.com/item-1711153/p/7222387.html

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