• 其他魔术方法


    其他魔术方法

    1、__sleep(), 和 __wakeup()

    当对一个对象进行“序列化”操作的时候,会自动调用类中的__sleep()方法;

    当“反序列化”一个对象的时候,会自动调用对应类中的__wakeup()方法;

      注意:反序列化操作中,必须已经具备了对应的类的声明。

     

    __sleep()方法中可以进行一些数据(资源)的清理工作,并返回一个数组,该数组可以存储一些想要进行序列化的对3象的属性——即可以挑选属性进行序列化。

     

    __wakeup()方法中,可以在进行反序列化操作的时候进行某些有用的“数据恢复工作”,比如:连接数据库

    这是“序列化”对象:

     

    这是反序列化对象:

     

     

    2、__tostring()方法

    当把一个对象当作一个“字符串”来看待(处理)的时候,会自动调用该魔术方法。

    通过该方法,可以返回“合适”的字符串,也可以认为就是对象转换为字符串的结果。

    如果没有改方法,会出错。

    对象不能直接当字符串使用:

     

    添加魔术方法:

       

    3、__invoke()方法

    对象当作一个“方法”(函数)的时候,会自动调用该魔术方法。

    比如:

      $v1 = $obj(1,2); //$obj其实是一个对象,这里就相当于将对象当函数用。

       

       

     

  • 相关阅读:
    Java方法
    Java程序控制
    Java基础语法
    编程语言的两大类型
    IntelliJ IDEA优化配置
    Hello World
    Java安装及卸载
    Java来龙去脉
    计算机底层基础
    Day14
  • 原文地址:https://www.cnblogs.com/wjglm/p/9809077.html
Copyright © 2020-2023  润新知