2013-10-18 37 views
0

比方說,我有幾束如CoreBundle,ApiMobileBundle,ApiPartnerBundle,WebsiteOneBundle,WebsiteTwoBundle,Backoffice1Bundle,Backoffice2Bundle,SearchBundle,UserBundle,LogBundle等等...如何處理幾個SF2應用程序之間的共享代碼?

到目前爲止,一切都組成的複雜結構SF2應用在一個獨特的GIT存儲庫下,應用程序版本正常。但是今天,我們想要創建另一個應用程序,它可以從主應用程序的一些捆綁中受益。請注意,生成的應用程序不會部署在同一臺服務器上。

簡而言之,我們希望在幾個SF2應用程序中共享幾個包。 你有什麼建議?

編輯

我問這個問題,因爲我有說,這是在SF2理念(關於應用程序的骨架純異端和不工作的開發商,一個供應商的管理,配置文件等。 ..)。他認爲最好的辦法是將所有東西放在同一個應用程序中,並且部署不必要的資源不是問題...

回答

2

最好的辦法是將項目提取出來並將它們存儲在自己的git中庫。

然後,在您的composer.json文件中,將它們作爲依賴關係添加到兩個項目中。

當然,這也取決於你的軟件包與應用程序分離,但這是一個設計因素和另一個問題。

希望有所幫助。

1

如果您擁有包之間相關的Doctrine實體,那麼您可能會遇到一些麻煩。如果您決定使用一個捆綁包,其實體與另一個未使用的捆綁包相關聯,那麼您將在Doctrine中遇到問題,解釋爲here。這就是爲什麼使用實體關係接口和ResolveTargetEntityListener是一個好主意。 (也就是說,如果你使用Doctrine。)

我想我有一個相當簡單的解決方案,我計劃在接下來的幾天發佈在前一個鏈接上的缺少的實體問題,第一件事是當我得到實施它的時間,測試併發布。

這個想法是基本保持所有的捆綁包儘可能獨立。不要將任何東西放在你的核心捆綁包中,除非你在多個捆綁包中共享它,或者它對於你的項目一般工作至關重要。但到目前爲止,我發現的最大問題是那些困擾實體。

相關問題