我有一个cakephp2应用程序,控制器变得非常大。是否有最佳实践可以将一些代码分解为其他不应该是动作的函数?
*对不起,自从我用cakephp1.0做了这个以来已经过了很长时间,然后我认为我把它们称为_functionname,这些日子似乎不对。*
答案 0 :(得分:1)
如果您的控制器一直在不受控制地增长,那么它已经积累了域业务逻辑和/或表示逻辑。
解决方案是将域逻辑移回模型层。将该功能放在AppModel
类中(这可能有问题,因为它使用Active Record(反)模式),或创建更高阶结构,但不扩展AppModel
而是从适当的model layer实施中充当服务。
表示逻辑应该回到视图中(或者因为你在view helpers中使用了Rails模仿MVC)。
答案 1 :(得分:1)
使用以下链接作为参考,它将为您提供更好的服务。
http://www.sanisoft.com/blog/2010/05/31/cakephp-fat-models-and-skinny-controllers/