在PHP中,如何反序列化为当前对象?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了在PHP中,如何反序列化为当前对象?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这可能是一个菜鸟问题,所以请善待.

我正在尝试在昂贵的“活动”对象上实现缓存.在构造函数中,我首先检查缓存以查看此ActivITy实例是否已存在.如果没有,我会执行所有查询来构建对象,将其序列化并将其保存到缓存中.下次进入时,我检查缓存,我的对象就在那里,所以我将它反序列化.现在是我的问题,如何将该对象放入$this,当前对象?我不能只说“$this = unserialize($row [0]);”失败并显示错误消息“无法在ActivityClass.PHP中重新分配$this”.我错过了什么?@H_304_7@

万分感谢!
麦克风

解决方法

如果您不希望您的构造离开该类,则可以创建工厂方法

class Activity
{
    public static function Create(/* your params */)
    {
        // construct cache and key,whatever
        $obj = unserialize($cache->get($key));

        if ($obj) return $obj;

        return new Activity(/* params */);
    }

    // rest of your stuff
}

脚本宝典总结

以上是脚本宝典为你收集整理的在PHP中,如何反序列化为当前对象?全部内容,希望文章能够帮你解决在PHP中,如何反序列化为当前对象?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。