云服务器

PHP的序列化详解

2017-12-27 11:37:49 0

应用场景:有时候,我们需要面对这样一个场景,当我们在a时刻产生了一个对象,包含了相应的属性,但是这个对象需要在b时刻再重新使用,很多情况下会把属性分开存储在数据库,按照一定的标识进行唯一性记录。

问题:如果用数据库去记录的话,当对象增加一个属性的时候,数据表也随之需要添加一个字段,这样是不好的

解决方法:可以使用php提供的序列化方法,进行对象的序列化,然后进行存储,可以存在文件或者数据库。当使用的时候重新拿出来,进行反序列化,就能继续使用该对象的保存属性了。

以下就用一个保存序列化对象到文件的列子:

 

(1)创建一个Root对象,包含一个param属性以及getway()方法

(2)然后通过saveSerializ方法把Root对象进行序列化转换,并且把序列化后的对象保存在root.txt的文件中

(3)然后通过getSerialize重新去除序列化对象,进行反序列化后,调用该对象的getway方法,结果是可以正确输出prarm的值。这里要注意的是,必须引入该对象的文件才能引用该对象的方法,否则会报异常。

这就是用序列化操作做持久化对象保存的一个简单的方法。大家有时间可以动手实际尝试一下。

上一篇: 无

微信关注

获取更多技术咨询