CakePHP将业务逻辑保持在视图之外

时间:2014-05-17 13:24:54

标签: php templates cakephp

我的控制器设置一个名为$price的变量,在视图中我需要显示它,如果它是一个正数,它会显示类positive-valuenegative-value。这是我的实际方式:

<p class="<?php echo $price >= 0 ? 'positive-value' : 'negative-value'; ?>">
<?php echo $price ?>
</p>

这是一个好习惯还是我应该把它放在模特身上?

1 个答案:

答案 0 :(得分:2)

关于某些东西是以绿色还是蓝色显示不是模型问题,模型关心的是数据本身。

如果价格属于某个模型,那么$price >= 0就是该模型的一个方面,因此有人可能会认为该模型应检查内部是否暴露价格状态(负面或正面)在视图中检查,如

<p class="<?php echo $modelData['price_status'] === TheModel.POSITIVE_PRICE ? 'positive-value' : 'negative-value'; ?>">

基本上我想说的是,视图包含一些逻辑是完全正确的,只要它是用于演示目的。