在CakePHP中放置某些逻辑的位置

Tij*_*men 3 php cakephp separation-of-concerns

我最近开始重写几年前使用CakePHP做的项目.我这次正试图做正确的事情,所以也许有人会给我一个关于做以下事情的指针:

我在视图中使用Model-> find('all')从表中显示一个简单的表.这个表中有两个布尔字段,它们组成了我需要向用户显示的内容.所以:0x0 ='A',1x0 ='B',0x1 ='C',1x1 ='D'.我应该把这个逻辑放在哪里?我一直在考虑以下方法:

  1. 风景
  2. 一个View助手
  3. 控制器
  4. 模型中的某些东西,以便Model-> find('all')输出这个值(甚至可能吗?)

这项任务可能看似微不足道,但我认为它可以让我从一开始就让这个项目有条不紊地进行组织和维护.

谢谢!

Qwe*_*rty 5

那么,这取决于组成决赛桌的逻辑类型(是演示还是业务?).

想象一下,您添加了新类型的UI,例如命令行界面.你怎么在那里展示你的桌子?对于HTML和控制台演示文稿,传递给View的数据必须相同.因此,负责准备数据的逻辑是业务逻辑,应该放在模型中.负责显示数据的逻辑应该放在View中(如果它被多次使用,可能在视图助手中).

永远不要在Controller中放置这种逻辑.