2013-07-23 32 views
0

我有一個現有的PHP項目,我必須在Symfony上移動。 我在symfony工作了6個月,發現它非常好用。如何正確構建一個Symfony2控制器 - 處理巨大的類

Hovewer,我有一個問題:

在舊的代碼,我有一些大的班,每班約6000:| 現在,在新項目中,我有我的控制器應該完成的一切(包括2或3類6000線)。

什麼是symfony的最佳實踐,爲每個龐大的類創建另一個bundle並在控制器中調用2或3個bundle的函數,或者其他的東西?

+0

我知道6000線的類是非常糟糕的做法,但我正在研究現有的代碼,所以我將不得不處理。 –

回答

1

上的Symfony瞭解更多的和答案可能正好落入地方,尤其是服務http://symfony.com/doc/current/book/service_container.html

編輯

看代碼,並在邏輯上將它。我不知道控制器是做什麼的,但它可以作爲一個班級有效 - 但這不太可能。看看這個班級,並就如何最好地將其拆分做出決定。

先把它作爲圖表或在紙上做!在代碼中做它首先需要更長的時間,並且當你第一次不可避免地犯了一個錯誤時更難修復。

+0

感謝您的建議。我知道Symfony2服務。所以,你的想法是使用服務。但是,每個龐大的班級都有一項服務,所以在endm有幾個服務,甚至是那些龐大的班級,可以將它們分成較小的服務,最後有10,20或30個服務。 –

+0

更新了我的回答 –

+0

再次感謝@jakenoble。實際上,代碼肯定可以分成更小的代碼。正如我所提到的,有一些龐大的類正在做所有事情,所有這些類都有5個以上的方法。因此,最終的想法是將這些課程分成幾個小班,然後爲每個小班制定一項服務。 –