【问题标题】:Alternatives to persisting objects than using __destruct() in PHP持久化对象的替代方法,而不是在 PHP 中使用 __destruct()
【发布时间】:2011-02-16 00:40:31
【问题描述】:

我通常使用类析构方法 __destruct() 将对象持久化到会话或你拥有的东西。这非常方便,但我很好奇是否还有其他同样吸引人的方法。你知道吗?

当我要合并/利用两个框架时产生了好奇心,这两个框架都使用 __destruct() 来实现持久性,从而导致竞争问题。

【问题讨论】:

    标签: php class persistence destructor


    【解决方案1】:

    您应该手动明确地处理持久性。对于必须阅读您的代码的任何人来说,这不仅更直观,而且依赖 PHP 的垃圾收集器为您完成重要工作并不是一个好主意,因为它可能是不可预测的。如果这很重要,您的对象也可能不会以正确的顺序保存。

    它还可以防止许多调试噩梦。

    【讨论】:

    • 如果要持久化的对象更具时间性,例如应用程序的状态,例如购物篮,您的看法是什么。通过将篮子序列化到会话并在每个新请求时对其进行反序列化来保持跨请求的状态。再次,__destruct() 似乎是一个非常好的地方。我同意你的观点,例如产品、用户对象等模型对象应该手动明确地处理。幽默地谈谈状态数据示例,您认为使用 __destrcut() 是否可行,或者您会怎么做?
    猜你喜欢
    • 2010-10-11
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多