php 魔术方法总结

1. 构造方法

a) __construct()

b) 参数:自定义

c) 触发时机:new的一瞬间自动调用

d) 作用:初始化成员属性


2. 析构方法

a) __destruct()

b) 参数:无

c) 触发时机:在对象释放的一瞬间自动调用

d) 作用:做收尾工作,数据库关闭连接等


3. __get()

a) 参数:一个,成员属性名称

b) 触发时机:在类外部访问私有的受保护的或者未定义的成员属性时自动调用

c) 作用:控制私有的受保护的未定义的成员属性的访问


4. __set()

a) 参数:两个,成员属性的名称和值

b) 触发时机:在类外部设置私有的受保护的未定义的成员属性时自动调用

c) 作用:对私有的受保护的未定义的成员属性进行赋值控制


5. __isset()

a) 参数:一个参数,成员属性名称

b) 触发时机:在类外部调用issetempty方法验证私有的受保护的未定义的成员属性时自动调用

c) 作用:对私有的受保护的未定义成员属性进行issetempty的判断控制


6. __unset()

a) 参数:一个参数,成员属性名称

b) 触发时机:在类外部使用unset方法对私有的受保护的成员属性进行销毁的一瞬间自动调用

c) 作用:对私有的受保护的成员属性进行unset销毁控制


7. __clone()

a) 参数:无

b) 触发时机:在类外部使用clone关键字对对象进行克隆时自动调用

c) 作用:对克隆体进行标示


8. __toString()

a) 参数:无

b) 触发时机:在类外部echo对象的时候自动调用

c) 作用:快速输出对象的内容

d) 注意:本方法必须返回一个字符串类型的内容


9. __call()

a) 参数:两个参数,调用的不存在方法名称,第二个参数为方法的参数(数组)

b) 触发时机:使用对象调用一个不存在的方法自动调用

c) 作用:屏蔽显示的错误


10. __callStatic()

a) 参数:两个参数,调用的不存在方法名称,第二个参数为方法的参数(数组)

b) 触发时机:使用对象调用一个不存在的静态方法自动调用

c) 作用:屏蔽显示的错误

d) 注意:需要使用static关键词修饰

11. __sleep()

a) 参数:无

b) 触发时机:当在类外部对对象进行串行化的一瞬间自动调用serialize()

c) 作用:可以对串行化的成员属性的选择进行控制

d) 注意:必须返回一个数组(元素:成员属性名称)


12. __wakeup()

a) 参数:无

b) 触发时机:反串行化的一瞬间自动调用unserialize()

c) 作用:在唤醒时对成员属性进行控制

d) 注意:在反串行化时必须有类在场


13. __autoload()

a) 参数:一个参数,new的类的名称

b) 触发时机:当new一个找不到的类或者继承的父类或者在方法体中new的找不到的类的时候自动调用

c) 作用:自动加载找不到的类文件

d) 注意:本方法是在类外部定义的


猜你喜欢

转载自blog.csdn.net/weixin_42632372/article/details/81031357