我有一个cakephp2应用程序,控制器变得非常大。是否有将代码分解为其他不应该成为动作的函数的最佳做法?cakephp2控制器变得太大
*对不起,它一直是looong的时间,因为我这样做有cakephp1.0那时候我想我打电话给他们_functionname,这似乎是错误的,这些天。*
我有一个cakephp2应用程序,控制器变得非常大。是否有将代码分解为其他不应该成为动作的函数的最佳做法?cakephp2控制器变得太大
*对不起,它一直是looong的时间,因为我这样做有cakephp1.0那时候我想我打电话给他们_functionname,这似乎是错误的,这些天。*
如果控制器已经被越来越多失控,然后它积累了领域业务逻辑和/或表达逻辑。
解决方案是将域逻辑移回模型层。要么将该功能放在AppModel
类中(这可能是有问题的,因为它使用活动记录(反)模式),或者创建更高顺序的结构,其范围不是AppModel
,而是作为适当的model layer实现的服务。
并且表示逻辑应该回到视图中(或者因为您正在使用MVC的Rails模仿 - 在view helpers中)。
使用下面的链接作为参考它会更好地为您服务。
http://www.sanisoft.com/blog/2010/05/31/cakephp-fat-models-and-skinny-controllers/
应该有关于这个主题的更新的文章。还有更广泛的。这个使用PHP4表示法,整篇文章的消息是“不要在控制器中使用查询生成器” –
为什么这是低票?谨慎分享这篇文章中有关错误的细节? –