【发布时间】:2014-02-24 17:08:09
【问题描述】:
假设我有一个模型 User_model 和 get_all_users() 函数:
Class User_model {
function get_all_users() {
$query = $this->db->query("SELECT * FROM users");
return $query->result(); // Returns array with data
}
}
我应该在我的应用程序中的哪个位置清理数据以供输出?到目前为止,我已经在get_all_users() 中通过循环遍历结果并返回一个包含经过处理和操作的数据的数组来完成此操作。问题就在这里:假设我的数据库表中有一个日期字段,我希望我根据用户所在的页面以不同的方式格式化。或者我有一些数据需要在 htmlspecialchars() 上运行。
想到的第一个想法是在我的视图中清理和格式化数据,但感觉不对。我应该在视图和模型之间有某种层来完成这项工作吗?在那种情况下这将如何运作?还是应该以其他方式处理?
【问题讨论】:
-
这个问题相当广泛。有很多方法和地方可以做到这一点。但是,我个人最喜欢的是为特殊情况创建一系列对象。数据、字符串、电子邮件等。并让每个人始终输出其内容的清理版本。然后日期对象可以有一个 $date->format() 方法等等。他们都可以实现__toString()