Composer使用體驗

什麼是Composer

簡單來講,Composer是PHP的包依賴管理器。可是Composer並非相似於Yum、Apt的包管理器。Composer能夠用於包或者第三方庫的安裝,可是能夠選擇在Project範圍內進行安裝。Composer是受到Node的NPM啓發。javascript

Composer能夠在下面的方面幫助到你:php

  1. 容許咱們定義項目 Project 依賴的第三方庫
  2. 自動幫咱們查找到哪些庫能夠下載,而且下載安裝

安裝(Linux/Unix/mac)

Composer 須要PHP 5.3.2+ 版本的支持java

Composer的安裝文件很簡單,直接下載一個PHP文件,而後在命令行執行就能夠。安裝過程其實是下載一個 composer.phar 的文件到項目文件夾。這個文件是 Composer 的庫文件。linux

php composer-setup.php    //安裝,下載composer.phar文件,默認到當前目錄
php composer.phar //運行composer

使用

配置 composer.json

想在項目中使用 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

Autoload

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

相關文章
相關標籤/搜索