【发布时间】:2013-10-04 22:27:16
【问题描述】:
我目前正在使用 MVC 模式,同时爱上了 PHP 中的 DateTime 类;我在模型中创建了一个DateTime 对象,并在视图中使用$date->format('Y-m-d') 形成日期。
我的问题是,是否有任何方法可以在选择后更改 MySQLi 对象并将 MySQL 时间戳列更改为 DateTime 对象?
我当前的解决方案是遍历MySQLi 对象并将每一行推送到一个数组中。不过感觉不是很圆滑。
有什么想法吗?
【问题讨论】:
-
没有什么说你不能扩展
mysqli和/或mysqli_stmt对象来提供你自己的实现来理解 DateTimes。 -
扩展的外观如何?执行常规查询,遍历结果并创建新对象?
-
class mysql_with_datetime extends mysqli { // your custom implementation }我必须认真考虑如何做这样的事情,因为您可能需要覆盖mysqli、mysqli_stmt、mysqli_result的重要部分,等以使这项工作按预期进行。我个人会质疑您将从这项工作中获得什么价值,因为很容易根据需要简单地实例化 DateTime 对象以处理返回的数据。 -
我的猜测是更好的方法是查看您的模型并找到一种方法将某些字段标记为日期时间,并让模型自动为任何标记为日期时间的字段实例化 DateTime 对象。跨度>
-
好点。我的主要原因是保持 MVC 稳定,但也许我必须破例并在视图中创建
DateTime对象,如果没有其他简单的方法可以做到这一点。
标签: php datetime mysqli timestamp