PHP中__sleep()方法的案例分析

  介绍

这篇文章主要介绍了PHP中__sleep()方法的案例分析,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

<强>,__sleep(),执行序列化()时,先会调用这个函数

序列化()函数会检查类中是否存在一个魔术方法__sleep()。如果存在,则该方法会优先被调用,然后才执行序列化操作。

此功能可以用于清理对象,并返回一个包含对象中所有应被序列化的变量名称的数组。

如果该方法未返回任何内容,则零被序列化,并产生一个E_NOTICE级别的错误。

<强>注意:

__sleep()不能返回父类的私有成员的名字。这样做会产生一个E_NOTICE级别的错误。可以用可序列化的接口来替代。

作用:

__sleep()方法常用于提交未提交的数据,或类似的清理操作,同时,如果有一些很大的对象,但不需要全部保存,这个功能就很好用。

具体请参考如下代码:

& lt; PHP ?   类人   {   公共美元性;   美元的公共名称;   公共美元时代;   公共函数__construct ($ name=啊?年龄=25美元,美元性=& # 39;男& # 39;)   {   $ this→名称=$名称;=$ $ this→年龄年龄;   这→美元=$性;   }/* *   * @return数组   */公共函数__sleep () {   回声“当在类外部使用序列化()时会调用这里的__sleep()方法& lt; br>“;   $ this→name=base64_encode ($ this→名称);   返回数组(& # 39;名字# 39;& # 39;年龄# 39;);//这里必须返回一个数值,里边的元素表示返回的属性名称   }   }   人=new美元(& # 39;小明& # 39;);//初始赋值   回声序列化($人);   回声& # 39;& lt; br/祝辞& # 39;;

代码运行结果:

当在类外部使用序列化()时会调用这里的__sleep()方法   O: 6:“Person": 2: {: 4:“name"销售:8:“5 bcp5pio";销售:3:“age";我:25;}

感谢你能够认真阅读完这篇文章,希望小编分享PHP中__sleep()方法的案例分析内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!

PHP中__sleep()方法的案例分析