帮我解决与同事的争论。。。
我们使用Zend Framework和PHP,我们处理的大部分数据包括日期和价格。我一直认为,当数据被检索(从数据库或JSON(时,我们应该立即自动将日期属性转换为Zend_date对象,将价格属性转换为Zend_Currency对象,以确保我们在操作/比较/显示数据时始终使用这些类的功能。我的论点是,它确保了一致性,我们总是知道数据的形式
我的同事认为,我们应该在检索时保持数据原样(字符串(,并且在模型或视图中使用时只创建Zend_Date/Zend_Currency对象。
谁是对的,为什么?
(我相信有人会争辩说,在创建对象时速度优化会受到很小的惩罚,但在我们的情况下,这并不重要。(
在OO中,最佳实践肯定是使用对象,因为它们封装了货币/日期的状态和行为。
我对Zend没有经验,但我认为date类会进行一些检查,以确保日期是有效的日期,或者抛出异常。如果你等到最后一分钟才将日期转换为对象,那么你可能会更难找到错误的来源,并一直在传输受污染的数据。我的防御本性希望我尽快清理非已知可信来源的数据。