面向对象的其他应用

对象的串行化(序列化)

  • 将对象变成一个字符串的过程就是对象的串行化
  • 作用:
    • 方便长久的保存对象
    • 方便在网络上传输


魔术方法 __sleep()

触发时机:在对象进行串行化操作时自动触发

功能:置顶需要串行化的成员属性

参数:无

返回值:需要返回一个数组类型,每个元素都是需要的串行化的成员属性名


魔术方法__wakeup()

触发时机:对象在进行反串行化是自动触发

功能:反串行化自动修改部分成员属性值

参数:无

返回值:无


串行化操作:变量=serialize(对象变量);

反串行化操作:对象变量 = unserialize(变量);


魔术方法:__tostring()

触发时机:对已个对象进行echo操作时, 自动触发

功能:简化操作或者为对象输出值

参数:无

返回值:必须有并且必须为字符串类型


魔术方法:__clone()

触发时机:对对象进行克隆操作时自动触发

功能:修改克隆之后的对象的部分成员属性

参数:无

返回值:无


tips:对象赋值默认是引用赋值,不能通过赋值操作获取一个新的对象,获取新对象的操作使用克隆操作

格式:新对象变量 = clone 对象变量


魔术方法:__call()

触发时机:对象调用一个没有定义的方法时,自动触发

功能:1.屏蔽错误,2.为不错在的方法定义一个功能

参数:2个,1.不存在的方法名,2.所有的实参列表

返回值:可有可无

posted on 2018-07-30 10:46  nothingMan  阅读(121)  评论(0)    收藏  举报