下面由composer教學專欄來介紹說明包和倉庫的概念,希望對需要的朋友有幫助!
概念
在我們了解已存在的不同類型的倉庫之前,我們需要了解 Composer 建構的一些基本概念。
套件
Composer 是依賴管理器。它能夠將套件安裝在本地。一個包的本質是一個包括了一系列原始檔的目錄。一般的,一個套件中的文件主要是一堆 PHP 程式碼文件,但理論上一個包裡面可以包括任意類型的文件,其中一個文件就是包中用於描述包的名稱和版本資訊的文件。名稱和版本是包的唯一識別。
事實上,Composer 的內部認為每一個版本都是獨立的包,雖然對於使用Composer 管理依賴時這並不重要,但對於你想要改變包中的一些東西時或做一些自定義選項時,這些內容則十分重要。
此外,除了名稱和版本信息,還有一些其他用用的元資料。其中與安裝包時最緊密相關的資訊就是包來源的定義,這個是用來告知從何處去取得包的實際內容。來源分為兩種:dist 和 source。
Dist: dist 來源的套件是一個打包後的分發版。通常是一個已發布的穩定版本。
Source: source 來源的套件往往用於開發。通常是一個原始碼倉庫,例如 git。當你想要修改下載的包,你可以選擇使用該來源。
套件可以提供任一種來源選項,或是二者皆有。最終選定哪一個取決於某一些因素,例如使用者提供的指定選項、套件的穩定性標識。
倉庫
倉庫是套件的來源。它提供了一個包和版本的清單。 Composer 透過查閱你配置中定義的所有倉庫來源裡去尋找你專案中所需的套件並將其引入。
Composer 將 Packagist 作為全域預設尋找的倉庫。當然你也可以透過在你的專案設定檔 —— composer.json 中加入額外的倉庫來源設定。
所有對於倉庫來源的設定資訊僅在來源套件( root package )中有效,而該套件中所依賴的套件內對於倉庫來源的設定資訊則不會再被Composer 作為查找套件的目標倉庫的依據。你可以閱讀 FAQ entry 了解更多具體原因。
以上是擴充包源倉庫的概念的詳細內容。更多資訊請關注PHP中文網其他相關文章!