PHP中的魔术方法

在面向对象编程中,PHP提供了一系列的魔术方法,这些魔术方法为编程提供了很多便利。PHP中的魔术方法通常以__(两个下划线)开始,

并且不需要显示的调用而是由某种特定的条件出发。

1.__construct()

实例化对象是被自动调用。当__construct和以类名为函数名的函数 同时存在时调用__construct,另一个不背调用。

类名为函数名的函数为老版的构造函数。

2.__destruct()

当删除一个对象或一个对象操作结束是被调用。

3.__call()

对象调用某个方法。若方法不存在,这调用__call 这个方法

4.__get()

读取一个对象属性,如果对象属性是私有的会调用它

5.__set()

给一个对象属性赋值时如果属性是私有的会调用它

6.__toString()

打印一个对象的时候会被调用。

7.__clone()

克隆对象时被调用,如:$a=new test(); $a1=clone $a;

8.__sleep()

Serialize 之前被调用,若对象比较大,想删减一点东西在序列化可以用它。

9.__wakeup()

Unserialize时被调用,做些对象的初始化工作。

10.__isset()

检测一个对象的属性是否存在如果 检测的属性是私有的时候会被调用。

11.__unset()

删除一个对象属性时如果 删除的对象属性是私有的会被调用

12.__set_state()

调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。

13.__autoload()

实例化一个对象时,如果对应的类不存在,则该方法被掉用。

posted @ 2017-11-08 16:54  码农的进击  阅读(217)  评论(0编辑  收藏  举报