簡單來講,Composer是PHP的包依賴管理器。可是Composer並非相似於Yum、Apt的包管理器。Composer能夠用於包或者第三方庫的安裝,可是能夠選擇在Project範圍內進行安裝。Composer是受到Node的NPM啓發。javascript
Composer能夠在下面的方面幫助到你:php
Composer 須要PHP 5.3.2+ 版本的支持java
Composer的安裝文件很簡單,直接下載一個PHP文件,而後在命令行執行就能夠。安裝過程其實是下載一個 composer.phar 的文件到項目文件夾。這個文件是 Composer 的庫文件。linux
php composer-setup.php //安裝,下載composer.phar文件,默認到當前目錄 php composer.phar //運行composer
想在項目中使用 Composer 首先須要一個 composer.json 文件。該文件爲必需文件,該文件指定了項目依賴哪些第三方庫。npm
{ "require": { "monolog/monolog": "1.0.*" } }
Composer 會根據 composer.json 的配置從 資源庫 中查找。資源庫能夠是 Packagist 或者指定的資源庫。json
php composer.phar install
執行上面的命令,能夠將monolog安裝(下載)到項目中。下載完成後,項目中多一個 composer.lock 文件以及一個 vendor 文件夾。vendor 文件夾中包含了下載的 monolog 庫以及一個 autoload.php、composer文件夾。app
第一次安裝時,Composer 根據 composer.json 文件來決定須要哪些依賴,以後會將安裝過程當中的相關信息收集寫入 composer.lock 文件,該文件將咱們依賴的第三方庫的版本進行鎖定。composer.lock 文件應當提交到版本庫中,以確保其餘用戶都使用相同的第三方庫。composer
require __DIR__ . '/vendor/autoload.php'; $log = new Monolog\Logger('name'); $log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING)); $log->addWarning('Foo');
Composer 會產生一個 autoload.php 文件,代碼中包含該文件後就能夠正常使用第三方庫。也能夠本身在 composer.json 中配置 Autoload的信息。ui
{ "autoload": { "psr-4": {"Acme\\": "src/「} //註冊psr-4的自動加載器,命名空間爲 Acme } }
配置以後,執行php composer.phar dump-autoload
來從新生成autoload。命令行
php composer.phar update
這個命令能夠將項目中的第三方庫進行更新,更新到最新版本,依賴於 composer.json 的配置。同時更新 composer.lock 文件。
參考資料:
一、Composer