PHP中把两个下划线开头的方法称为魔术方法,这些方法在PHP中充当了举足轻重的作用,魔术方法特别常见,特别是在封装的方法中,魔术方法也给实现封装类带来了很方便的用法
常见的魔术方法:
construct() 实例化对象是被自动调用。当construct和以类名为函数名的函数 同时存在时调 用construct,另一个不背调用。类名为函数名的函数为老版的构造函数。
destruct() 当删除一个对象或一个对象操作结束是被调用。
call() 对象调用某个方法。若方法不存在,这调用call 这个方法
get() 读取一个对象属性,如果对象属性是私有的会调用它
set() 给一个对象属性赋值时如果属性是私有的会调用它
toString() 打印一个对象的时候会被调用。
clone() 克隆对象时被调用,如:$a=new test(); $a1=clone $a;
sleep() Serialize 之前被调用,若对象比较大,想删减一点东西在序列化可以用它。
wakeup() Unserialize时被调用,做些对象的初始化工作。
isset() 检测一个对象的属性是否存在如果 检测的属性是私有的时候会被调用。
unset() 删除一个对象属性时如果 删除的对象属性是私有的会被调用
set_state() 调用var_export时,被调用。用set_state的返回值做为var_export的返回值。
autoload() 实例化一个对象时,如果对应的类不存在,则该方法被掉用。
掌握了以上的魔术方法,对于封装一个类来说,就没什么难度了。
相关推荐:
以上是php多种魔术方法解析的详细内容。更多信息请关注PHP中文网其他相关文章!