PHP中12个魔术方法


php中12个魔术方法

本文列举了php面向对象当中12个魔术方法,并对此进行一一详细介绍,希望对新手有所帮助。

1.构造方法: __construct()

参数:自定义

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

作用:初始化成员属性

2.析构方法__destruct()

参数:无

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

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

3.__get()

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

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

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

4.__set()

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

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

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

5.__isset()

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

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

作用:对私有的受保护的未定义成员属性进行isset和empty的判断控制

6.__unset()

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

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

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

7.__clone()

参数:无

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

作用:对克隆体进行标示

8.__toString()

参数:无

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

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

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

9.__call()

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

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

作用:屏蔽显示的错误

10.__autoload()

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

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

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

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

11.__sleep()

参数:无

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

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

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

12.__wakeup()

参数:无

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值