行动通常很短 - 大约10-15行代码 - 因为 他们只是调用应用程序的其他部分来获取或生成 需要的信息然后他们渲染一个模板来显示结果 给用户。
就我而言,我使用多种方法制作了一个自定义包,如:
public function customAction()
{
// getting Request data, clean it, sanitize it = ~ 15 lines
// getting a file from local storage, then control it = ~ 10 lines
// Executing DB queries (select, insert) with entity manager = ~ 25 lines
etc...
}
我的问题很简单:如果控制器内的所有xxxAction()方法都应该保持适合和简短,那么在哪里找到我的整个代码?
答案 0 :(得分:2)
主要思想是动作只在请求和应用程序逻辑之间分配一些东西 - 这个逻辑本身应该驻留在可重用但不直接耦合到动作的服务中。
所以:在操作中收集您请求中的所有必需数据,并使用所有需要的数据从另一个服务调用方法