PHP依賴管理工具Composer入門


Composer

介紹

Composer是PHP中的一個依賴管理工具. 它可讓你聲明本身項目所依賴的庫,而後它將會在項目中爲你安裝這些庫。php

依賴管理

Composer不是包管理器。是的,它實際上和"包"或者庫打交道,可是它是以項目爲單位進行管理,把它們安裝到你項目中的一個目錄(例如vendor)。默認狀況下它不會以全局的方式安裝任何東西。所以,它是一個依賴管理器。html

這個想法並不新鮮,Composer的靈感是來自於node的npm和ruby的bundler。可是目前PHP尚未一個這樣的工具。node

Composer解決的問題是:git

a) 你有一個依賴N多庫的項目。github

b) 這些庫中一些又依賴於其餘的庫。npm

c) 你聲明你所依賴的庫。json

d) Composer找出哪些包的哪一個版本將會被安裝,而後安裝它們(也就是把它們下載到你的項目中)。ruby

聲明依賴關係

假設你正在建立一個項目,而後你須要一個日誌操做的庫。你決定使用monolog。爲了把它加入到你的項目中,你須要作的就是建立一個名爲composer.json的文件,其描述這個項目的依賴關係。composer

{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}

咱們簡單的描述說咱們的項目依賴某個monolog/monolog包,版本只要是以1.2開頭的就行。curl

系統要求

Composer須要PHP 5.3.2+才能運行。一些靈敏的PHP設置和編譯選項也是必須的,不過安裝程序(installer)會警告你任何不兼容的地方。

若是想要從源碼而不是簡單的從zip壓縮包中安裝軟件包的話,你將須要git,svn或者hg,這依賴於軟件包是經過什麼進行版本控制的。

Composer是兼容多平臺的,而且咱們力爭使其在Windows,Linux和OSX上的運行無差別。

安裝 - *nix

下載Composer可執行程序

局部安裝

爲了獲取Composer,咱們須要作兩件事。第一個是安裝Composer(前面說過了,這意味下載它到你的項目中):

$ curl -sS https://getcomposer.org/installer | php

這隻會檢查一些PHP設置,而後下載composer.phar到你的工做目錄中。這個文件是Composer二進制文件。它是一個PHAR (PHP archive),PHP的歸檔格式,也能夠像其餘命令同樣在命令行上運行。

你可使用--install-dir選項,而且提供一個目標目錄(能夠是絕對或者相對路徑)從而把Composer安裝到一個指定的目錄:

$ curl -sS https://getcomposer.org/installer | php -- --install-dir=bin

全局安裝

你能夠把這個文件放到任何你想放的地方。若是你把它放到你的PATH中,你就能夠全局訪問它了。在類unix系統中你甚至可使它可執行,而且調用的時候不須要php

你能夠執行這些命令從而可以在你的系統上簡單的訪問composer

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

而後,只須要執行composer命令來運行Composer,而不是php composer.phar

安裝 - Windows

使用安裝程序

這是在你的機器上安裝Composer最簡單的方法。

下載並運行Composer-Setup.exe,它將會安裝最新的Composer版本而且設置好PATH,而後你就能夠在命令中的任何目錄下調用composer了。

手動安裝

切換到一個存在於PATH環境變量中的目錄,而後執行安裝代碼片斷來下載composer.phar:

C:\Users\username>cd C:\bin
C:\bin>php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"

建立一個新的以.bat結尾的composer文件:

C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat

關閉你當前的終端。打開一個新的終端測試一下:

C:\Users\username>composer -V
Composer version 27d8904

C:\Users\username>

使用Composer

咱們接下來要使用Composer來安裝項目的依賴。若是你在當前目錄下沒有一個叫做composer.json的文件,請跳到基本使用章節。

爲了解決並下載依賴,運行install命令:

$ php composer.phar install

若是你是全局安裝,而且目錄下沒有phar文件,那麼運行這個:

$ composer install

若是是上面的例子,這個操做將會下載monolog到vendor/monolog/monolog目錄。

自動加載

除了下載庫以外,Composer也會建立一個自動加載文件,這個文件可以自動加載Composer下載的庫中全部的類。若是想使用它,只須要在你代碼啓動的地方加上以下代碼:

require 'vendor/autoload.php';

哇哦!如今開始使用monolog吧! 若是想進一步學習Composer,繼續閱讀「基本使用」章節。 若是想要找須要的package,到Packagist

參考

相關文章
相關標籤/搜索