yii CActiveRecord 中的一点小注意事项
Submitted by gouki on 2012, January 6, 10:48 AM. PHP
纯笔记,在使用ActiveRecord的时候一点注意事项。
本来在处理缓存的时候想对一些数据做强制缓存的,但结果预想的目标和我不一样。
我的$cachekey = md5(serialize($model).$parameter);
然后在调用的时候发现$model对象中的一些信息都消失了。起初以为参数没有传递,但测试了一下之后发现全部正常,那问题出在哪里呢?
再一步步的调试,发现出在serialize后对象就变了。于是看了一下CActiveRecord的源码,果然发现了源码中有定义__sleep(),纠结啊。
看来以后要注意一下,不能随便把model给序列化了。
本站采用
创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"
易栈网-膘叔", 保留原始链接, 此外还必须标注原文标题和链接.
Tags: cactiverecord, __sleep, serialize
« 上一篇 | 下一篇 »
只显示10条记录相关文章
PHP 序列化(serialize)格式详解 (浏览:
41131, 评论:
1)
关于序列化javascript (浏览:
20817, 评论:
0)
hprose使用中的一個問題 (浏览:
20123, 评论:
1)
1条记录访客评论
这个当年使用Kohana 3的时候,就遇到了。当时为了处理订单状态的元数据变化,直接将Model序列化后入库。结果比对的时候怎么都不对。查阅了半天,终于发现了serialize、unserialize与__sleep()和__wakeup()的关系。当时真的搞得快要崩溃了。
Post by BreeStealth on 2012, January 7, 10:18 AM #1
发表评论