2016-05-13 110 views
1

問題:
我不確定如何爲Symfony設置多客戶端應用程序,以便我們不會違反Symfony的最佳實踐並針對該框架進行工作。
我想有一個主要的核心命名空間,其中將包含所有的基礎模型類。在覈心旁邊,我想根據客戶端區域設置設置將使用的客戶端特定命名空間。例如美國市場的LocalUS,英國市場的LocalUK等。
Local *命名空間應該優先考慮包含分枝模板,並且作爲fallback使用核心共同分享視圖(據我所知,這可以通過twig命名空間解決) 。控制器和模型同樣如此 - 這些可能通過擴展Core命名空間類來解決?這是否可以通過路由和爲這些Local *控制器提供路徑來解決?
我在github上查看是否有任何項目有類似的設置,但我找不到任何東西。Symfony:組織多客戶端應用程序的業務邏輯

一點背景:
我們有一個較早的舊版PHP應用程序,它是使用普通PHP從內部開始構建的。隨着應用程序的不斷髮展,很難保持良好的代碼質量和標準。向新開發人員教授我們的應用程序邏輯也非常耗時,因爲應用程序基本上不遵循標準的設計模式,只是做它自己的事情。很多處理路由,控制器等的底層代碼似乎都像「魔法」一樣,沒有人真正敢碰。

這是因爲我們想將我們的應用程序遷移到Symfony3框架。我已經閱讀了一些關於將傳統應用程序遷移到symfony的整個過程的文章,並且很好地使用了silex。然而,Silex有點太輕量級,我發現資產服務提供者缺少很多功能(樹枝命名空間等),並且認爲如果我們可以轉而使用全棧symfony框架,那麼最好。

回答

1

調查Symfony bundles - 他們正是你所需要的。你創建一個「基礎」包,比用其他包擴展它。這就是FOSUserBundle的工作原理 - 它提供了您需要的所有內容,而不是將其擴展並覆蓋它。

相關問題