帮我解决与同事争吵的问题......
我们正在使用Zend Framework和PHP,我们处理的大部分数据都包括日期和价格。我一直在争论当检索数据时(无论是从数据库还是JSON),我们应该自动立即将日期属性转换为Zend_Date对象,并将价格属性转换为Zend_Currency对象,以确保我们始终使用这些对象的能力操作/比较/显示数据时的类。我的论点是它确保了一致性,我们总是知道数据的形式。
我的同事辩称,我们应该在检索时保留数据(字符串),并且只在模型或视图中使用时创建Zend_Date / Zend_Currency对象。
谁是对的?为什么?
(我敢肯定会有人认为在创建对象时会有一个小的速度优化惩罚,但在我们的情况下,这并不是一个问题。)
答案 0 :(得分:1)
在OO中,最好的做法肯定是使用对象,因为它们封装了您期望货币/日期的状态和行为。
我对Zend没有经验但我会假设日期类会做一些检查以确保日期是有效日期或抛出异常。如果你等到最后一分钟将日期转换为对象,你可能会更难找到错误的来源并在整个时间内传输污染的数据。我的防御性质要求我尽快清理数据,而这些数据并非来自已知的可靠来源。