【发布时间】:2013-03-27 17:39:33
【问题描述】:
我开始尝试使用 CakePHP,我正在考虑是否应该在视图中或其他地方进行计算,可能是业务逻辑,以确定在视图上呈现的内容。
我最终将它们放在视图中的问题是因为数据仅在我执行 foreach 循环时可用。这是一个简单的例子:
<?php foreach ($records as $record):
$amountDifference = $record['Record']['outstanding'] - $record['Record']['paid'];
if ($amountDifference > 5){
echo "greater than 5";
}else{
echo "less than 5";
}
endforeach; ?>
你们都说什么?
【问题讨论】:
-
对我来说看起来不错。您不会以任何方式操作数据,而只是导出需要显示的值。如果在模型中这样做,它可能会闻起来稍微好一点,但这闻起来并不明显。
-
如果我从字符串转换为数组会怎样。比如,使用explode和implode函数;那绝对应该在模型中完成?
-
如果纯粹是为了展示目的,IMO 也很好。您是否考虑过将此逻辑移至 Helper?此外,“5”似乎是一个“幻数”,最好将该数字移动到一个常数,和/或在 Helper 方法中设置一个参数
-
CakePHP 没有视图。它有模板。
-
CakePHP 确实有意见