2015-11-04 53 views
2

問題是存儲可重用軟件包的地方?symfony2在哪裏存儲可重用軟件包

例子。 使用My/ReportsBundle的應用程序(AppA,AppB,AppC)很少。

所有這些應用程序都有composer.json

"require": "my/reports-bundle:1.0.x-dev" 

現在。當任何開發人員需要對My/ReportsBundle進行更改時,他會轉到vendor/my/reports-bundle/My/ReportsBundle目錄。 進行更改。 提交他們git。

然後其他人可以使用composer update獲取更新。

但是經常提到我們應該避免改變vendor的內容。

所以,我的問題是放置和開發可重用symfony2包的最佳做法是什麼?

+3

在這種情況下,在供應商下工作很好。大多數警告涉及修改其他人的代碼。 – Cerad

回答

0

如果您有多個使用單個軟件包的應用程序,則必須將其視爲開源軟件包。開發是獨立的和標記的。因爲在AppA中修復軟件包,可能會在AppB中打開它,甚至無法知道它。

所以我會保持獨立包,就像你想貢獻一些包在Githubu上。

+0

主要問題是有什麼辦法可以在src dir中放置這樣的包,以及它如何輕鬆更新? 和thx爲答案。 –

+0

這取決於你的上下文。如果有一個應用程序使用該軟件包,那將很簡單。由於有多個應用程序,它取決於它使用多少程序員。如果只有你,你可以將單個存儲庫符號鏈接到所有應用程序。 –

+0

你所描述的最好的用例工作流程,你已經做到了。所以我可能會堅持這一點。就我個人而言,我會用測試維護獨立的存儲庫,只是爲了讓大家意識到並保持最新狀態。此外,它還將提供您可以在將來的軟件包解耦中使用的經驗。 –