2013-04-29 69 views
0

對於我們的定製CMS,我們已經提取了所有不同的模塊,這包括用戶系統,角色管理器,頁面編輯器,主題系統等的所有內容。我應該創建一個作曲家傘包嗎?

其中幾個是系統運行所必需的首先。

所以我們的composer.json已經有大約15個不同的「需求」。

現在,我想知道的是,創建一個umberella包是否更好,這個包本身不包含任何東西,但它需要所有不同的零件。

所以,與其具有15個不同的要求,我們可以只是

{ 
    "require": { 
     "cms/core": "1.0.*" 
    } 
} 

我看,對於每一個更新的保護傘下任何包,我們必須更新版本傘包的缺點,這意味着而框架中的最高部分可能只有2.7.34,這個傘可能在26.12.116或相似。

如果我們確實創建了一個雨傘包,我們應該如何處理這個問題?只需要包裹要求所有包裹作爲*?我們會遇到兼容性問題嗎?

+2

你不僅應該猜測問題,而且還應該嘗試,然後向你報告工作情況。你有沒有試過製造這樣的雨傘包?它甚至工作嗎?自動加載器是否仍然適合您?所有這些只有在面對實際工作時纔會彈出的詳細問題。因此,在問一般問題之前,請先測試一下自己的細節,這些細節將獨自出現,此處的用戶無法爲您的代碼說明。還有關於版本編號:決定如何*你想要版本的主包 – 2013-04-29 23:15:58

+0

@ M8R-1jmw5r我同意,我會報告它是如何工作的,我希望以這種方式解決衆包問題/建議,很像在開始之前,你有一個小組會議來討論一個項目。 – Hailwood 2013-04-29 23:43:21

+0

Stackoverflow不適合這樣的小組會議。它是純粹的Q和A,具有低噪聲比,這意味着:沒有(或者非常非常少的)討論,沒有意見形成。有一個很好的理由。關於版本控制,這裏是一些人已經形成意見的地方:http://semver.org/ – 2013-04-29 23:50:55

回答

2

你可以做到這一點,並設置type metapackage如果它確實不包含任何文件。它確實可以讓你的用戶的生活更輕鬆。

我會建議雖然是您需要:每個子包1.0.*,然後當你碰到的一切1.1更改爲1.1.*並標記cms/core 1.1.0。這就是如果你有所有版本或多或少同步。

如果每個組件都獨立版本化,那麼它會變得更難一些。那時可能使用~1.0的要求是最好的。這將允許更新(但不包括)到2.0,這意味着你可以確保至少一起工作。但是實際上並沒有銀彈,這取決於案例,在繼續之前,您應該嘗試對版本控制實踐有所瞭解。