number_format(与视图相关的逻辑)应该在哪里进行CakePHP?

前端之家收集整理的这篇文章主要介绍了number_format(与视图相关的逻辑)应该在哪里进行CakePHP?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在与同事讨论之后,我们认为应该采用与观点相关的逻辑.

例如,假设我们想要在视图中显示一个数字.我认为number_format(或我们使用CakePHP的CakeNumber ::格式)应该放在视图中,因为它与我们展示的内容有关.我的同事认为它应该进入控制器,因为这是所有逻辑的所在.

在这种情况下,我们有两个视图,一个用于网站和最终用户,另一个用于返回json响应的API视图.如果我将代码放在控制器中,我必须检查我正在使用哪个视图,因为它不是在json响应中给出一个字符串,而实际上它是一个整数.出于这个原因,我非常支持视图中的代码.

问题是,谁“更”正确,数字格式应该在哪里?

除了我在视图中放置代码的论点之外,他很乐意在视图中使用htmlentities,但我认为如果我不允许使用number_format,他就不能拥有htmlentities并且它应该在控制器中完成.

根据MVC的规则,所有逻辑都应该放在模型中,而不是控制器.控制器应该只将视图需要的所有内容拉到一起,然后将其移交给要显示的视图.

根据我的经验,View经常以其中的一小部分逻辑结束.转换格式化数字或转义内容与htmlentities最终都是非常小的东西,并且在视图中很好,有些人甚至会考虑使用这些函数作为格式而不是业务逻辑.很多人,包括我自己,都将这些小函数称为帮助者(正如评论中的Armage所指出的那样),并且在视图中使用它们是很常见的并且绝对被接受.

这当然是我多年来试图将内容分开并在正确的地方形成的,我的意见可能会有所不同.

猜你在找的PHP相关文章