php中把两个下划线开头的方法称为魔术方法,这些方法在php中充当了举足轻重的作用,魔术方法特别常见,特别是在封装的方法中,魔术方法也给实现封装类带来了很方便的用法
常见的魔术方法:
construct() 实例化对象是被自动调用。当construct和以类名为函数名的函数 同时存在时调 用construct,另一个不背调用。类名为函数名的函数为老版的构造函数。
destruct() 当删除一个对象或一个对象操作结束是被调用。
-
call() 对象调用某个方法。若方法不存在,这调用call 这个方法
立即学习“PHP免费学习笔记(深入)”;
get() 读取一个对象属性,如果对象属性是私有的会调用它
set() 给一个对象属性赋值时如果属性是私有的会调用它
toString() 打印一个对象的时候会被调用。
clone() 克隆对象时被调用,如:$a=new test(); $a1=clone $a;
sleep() Serialize 之前被调用,若对象比较大,想删减一点东西在序列化可以用它。
wakeup() Unserialize时被调用,做些对象的初始化工作。
ShoopD 网上商店系统下载用 php + mysql 驱动的在线商城系统,我们的目标为中国的中小企业及个人提供最简洁,最安全,最高效的在线商城解决方案,使用了自建的会员积分折扣功能,不同的会员组有不同的折扣,让您的商店吸引更多的后续客户。 系统自动加分处理功能,自动处理会员等级,免去人工处理的工作量,让您的商店运作起来更方便省事 采用了自建的直接模板技术,免去了模板解析时间,提高了代码利用效率 独立开发的购物车系统,使用最
isset() 检测一个对象的属性是否存在如果 检测的属性是私有的时候会被调用。
unset() 删除一个对象属性时如果 删除的对象属性是私有的会被调用
set_state() 调用var_export时,被调用。用set_state的返回值做为var_export的返回值。
autoload() 实例化一个对象时,如果对应的类不存在,则该方法被掉用。
掌握了以上的魔术方法,对于封装一个类来说,就没什么难度了。
相关推荐:










