對於現代語言而言,包管理器基本上是標配。Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm。PHP 的則是 PEAR,不過 PEAR 坑不少:
- 依賴處理容易出問題
- 配置非常複雜
- 難用的命令列介面
好在我們有 Composer,PHP依賴管理的利器。它是開源的,使用起來也很簡單,提交自己的包也很容易。
安裝 Composer
Composer 需要 PHP 5.3.2+ 才能執行。
$ curl -sS https://getcomposer.org/installer | php
這個命令會將 composer.phar 下載到當前目錄。PHAR(PHP 壓縮包)是一個壓縮格式,可以在命令列下直接執行。
你可以使用 –install-dir 選項將 Composer 安裝到指定的目錄,例如:
$ curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
當然也可以進行全域性安裝:
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
在 Mac OS X 下也可以使用 homebrew 安裝:
brew tap josegonzalez/homebrew-php
brew install josegonzalez/php/composer
不過通常情況下只需將 composer.phar 的位置加入到 PATH 環境變數就可以,不一定要全域性安裝。
宣告依賴
在專案目錄下建立一個 composer.json 檔案,指明依賴,比如,你的專案依賴 monolog:
{
"require": {
"monolog/monolog": "1.2.*"
}
}
安裝依賴
安裝依賴非常簡單,只需在專案目錄下執行:
composer install
如果沒有全域性安裝的話,則執行:
php composer.phar install
自動載入
Composer 提供了自動載入的特性,只需在你的程式碼的初始化部分中加入下面一行:
require `vendor/autoload.php`;
模組倉庫
packagist.org 是Composer的倉庫,很多著名的 PHP 庫都能在其中找到。你也可以提交你自己的作品。