我有一個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表示法,整篇文章的消息是「不要在控制器中使用查詢生成器」 –
爲什麼這是低票?謹慎分享這篇文章中有關錯誤的細節? –