1

帮我解决与同事的争吵...

我们使用 Zend Framework 和 PHP,我们处理的大部分数据包括日期和价格。我一直在争论,当数据被检索(从数据库或 JSON 中)时,我们应该立即自动将日期属性转换为 Zend_Date 对象,并将价格属性转换为 Zend_Currency 对象,以确保我们始终使用这些功能操作/比较/显示数据时的类。我的论点是它确保了一致性,我们总是知道数据的形式。

我的同事争辩说,我们应该在检索时保留数据(字符串),并且只在模型或视图中使用时创建 Zend_Date/Zend_Currency 对象。

谁是对的,为什么?

(我敢肯定有人会争辩说,在创建对象的过程中,速度优化会受到很小的损失,但在我们的例子中,这并不重要。)

4

1 回答 1

1

在 OO 中,最佳实践肯定是使用对象,因为它们封装了您期望的货币/日期的状态和行为。

我对 Zend 没有经验,但我认为日期类会做一些检查以确保日期是有效日期或抛出异常。如果您等到最后一分钟才将日期转换为对象,您可能会更难找到错误的来源并在整个过程中传输受污染的数据。我的防御本性希望我尽快清理并非来自已知可信来源的数据。

于 2011-07-05T23:45:29.937 回答