Composer是一個非常受歡迎的PHP套件依賴管理工具,已經取代PEAR套件管理器,對於PHP開發者來說掌握Composer是必須的。
對於用戶來說Composer非常的簡單,透過簡單的一條命令將需要的程式碼包下載到vendor目錄下,然後開發者就可以引入套件並使用了.(推薦學習:PHP視訊教學)
其中的關鍵在於你專案定義的composer.json,可以定義專案需要依賴的套件(可能有多個) ,而依賴的套件可能又依賴其他的套件(這就是元件的好處),這些都不用你煩心,Composer會自動下載你需要的一切,一切在於composer.json的定義.
Composer對於使用者來說是很透明,但是其背後的理念還是需要了解一下的,其的誕生也不是偶然的,得益於Github的快速發展,PHP語言也越來越現代化,顯得更高大上了.
為了理解Composer,先大概了解下其結構:
Composer命令列工具:
透過使用者定義的Composer.json去下載你需要的程式碼,假如只是簡單的使用Composer,那麼掌握一些具體命令就完全可以了
Autoloading程式碼載入器:
透過Composer,開發者可以透過多種方式去使用,而其中的關鍵在於PHP的命名空間概念,以及PSR-4標準的發展,Composer只是根據這二者開發了一個代碼自動加載器
Github:
#有了Github,PHP開發人員可以將開源的程式碼託管在這上面,而Composer的發展源於Github,Composer本質上就是將Github上的程式碼下載到本地.
#Packagist :
對使用者來說使用的是Composer的命令列工具,那麼命令列工具怎麼知道有多少套件可以被使用者使用呢,這主要就是依賴Packagist,Packagist是Composer主要的一個套件資訊儲存庫,套件開發者將具體程式碼託管到Github上,將套件資訊提交到Packagist上,這樣使用者就可以透過Composer去使用.
Composer根據本地定義的composer.json資訊去查詢Packagist,Packagist根據Composer.json/Package.json資訊解析,最終對應到github倉庫,Composer最終下載程式碼的時候還要依賴Github倉庫上的Composer.json,這裡涉及到三種類型的composer. json,意義是不一樣的.
Composer.json:
這是Composer的核心,是Composer的規則,上面也提到了三種類型的Composer .json,使用的時候一定要注意區分。
以上是php包依賴管理工具有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!