我正在爲使用Symfony2的公司開發一個小型CMS。我非常喜歡這個框架。我喜歡錶單類並重用它們(畢竟這是關於表單的)。Symfony2並在控制器中成爲DRY方法
但是(是的,有一個「但」)我感覺我正在做同樣的東西,複製和粘貼在所有控制器。我們討厭的代碼重複。與所有的業務邏輯轉移到Services和形式,事件,教義堅持的行動,我的所有控制器都做同樣的事情:
- 獲取程序存儲庫
$this->get('mycompany.repository.entity')
- 動態創建的形式(邏輯是表單內類本身)
- 驗證表單,返回視圖或持久的實體
- 等等...
我的意思是,控制器的動作都是一樣的,只是幾個字符的變化。
在我的控制器中如何能DRY與Symfony2?也許控制器作爲服務(我幾天前才發現的一個概念)可能會有所幫助?
編輯:相關的問題(由噓建議的第一個想法):Symfony2 how to redirect to an action without hardcoding route name?
您認爲第1點就像是戰略模式嗎?我的意思是檢索 - 驗證 - 堅持? – gremo 2012-03-14 11:50:54
我遵循你的第一個想法。這不是那麼簡單,看看我的相關問題:http://stackoverflow.com/questions/9719686/symfony2-how-to-redirect-to-an-action – gremo 2012-03-15 12:29:13