PHP面向对象中的魔术方法

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

__call();

          1,在调用对象中不存在的方法时,__call()魔术方法会自动调用

          2,处理一些不存在方法的错误调用。

          3,这个方法需要两个参数。

              function __call($methodName,$args){

 

              }

 

  __toString();

          1,用来快速读取对象用字符串表示的最便捷方法。

          2,直接输出对象的引用时自动调用。

          3,该方法必须返回一个字符串。

 

   __clone();

          1,复制(克隆)对象使用clone处理---------->$p1 = clone $object。

          2,__clone()是在克隆对象的时候自动调用。

          3,只要一个对象一诞生,就要有初始化的动作。

          4,和构造方法__construct()相似,它是为克隆出来的副本对象初始化。

          5,在__clone()方法中$this关键字代表的是副本对象。($that代表原本对象。)

 

__autoload();

          1,其他的魔术方法都是在类中添加起作用的,这是唯一一个不在类中添加的方法。

          2,在类外部添加的方法,可以自动加载类!

          3,只要在页面中使用到一个类,就会自动将类名传给__autoload(类名参数)类名参数。

 

          对象串行化(序列化):将一个对象转为二进制串。

                             1,将对象长时间存储在数据库或文件时使用对象串行化。

                             2,将对象在多个PHP文件中传输时使用对象串行化。

          serialize():参数是一个对象,返回这个对象串行化后的二进制串。------------序列化

          unserialize():参数是对象的二进制串,返回来的就是原序列化之前的对象。----------------反序列化

__sleep();

          1,在对象序列化时自动调用的方法。

          2,可以将一个对象部分串行化。(只要这个方法中返回一个数组,数组中有几个成员属性,就序列化几个属性。如果不加这个方法,则所有成员都被序列化!)

 

__wakeup();

          1,在对象反序列化时自动调用的方法。

          2,可以将一个对象部分反串行化。(也是对象重新诞生的过程------>__construct(),__wakeup(),__clone())


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值