Composer 是 PHP 的一個依賴管理工具。它容許你申明項目所依賴的代碼庫,它會在你的項目中爲你安裝他們。
《Composer 中文網》php
運行 Composer 須要 PHP 5.3.2+ 以上版本。
Composer 是多平臺的,它能夠同時在 Windows 、 Linux 以及 OSX 平臺上運行。json
curl -sS https://getcomposer.org/installer | php mv composer.phar mv composer.phar /usr/local/bin/composer
注:若是沒有安裝curl,能夠經過如下命令安裝
apt-get update apt-get install curl
當你的 Composer 安裝完畢以後,你能夠實用下列命令查看是否安裝成功ubuntu
composer -v
注 若是上述方法因爲某些緣由失敗了,你還能夠經過 php 下載安裝器:
php -r "readfile('https://getcomposer.org/installer');" | php
這將檢查一些 PHP 的設置,而後下載 composer.phar
到你的工做目錄中。這是 Composer 的二進制文件。這是一個 PHAR 包(PHP 的歸檔),這是 PHP 的歸檔格式能夠幫助用戶在命令行中執行一些操做。segmentfault
你能夠經過 --install-dir
選項指定 Composer 的安裝目錄(它能夠是一個絕對或相對路徑)windows
要開始在你的項目中使用 Composer,你只須要一個 composer.json
文件。該文件包含了項目的依賴和其它的一些元數據。app
首先建立一個 composer.json
文件,寫入相應的包名和版本號,如composer
{ "require": { "monolog/monolog": "1.13.*" } }
這是後就寫入了一個依賴包,以後安裝依賴包。獲取定義的依賴到你的本地項目,以後在你的項目目錄中(即 composer.json
所在目錄)使用 Composer 運行 install
命令。curl
composer install
固然,若是是在 Windows
系統中,也能夠經過調用 composer.phar
包來進行依賴包的安裝。函數
php composer.phar install
執行 composer install
,就進入自動安裝,安裝完成後會生成一個 composer.lock
文件,裏面是特定的版本號名,須要這個文件和 composer.json
一塊兒提交到版本管理裏去。工具
最後,在須要更新依賴包的時候,可使用如下命令
composer update
若是隻想更新部分依賴
composer update monolog/monolog
對於庫的自動加載信息,Composer 生成了一個 vendor/autoload.php
文件。你能夠在你項目的入口文件中引入它
<?php require __DIR__ . '/vendor/autoload.php'; ?>
這使得你能夠很容易的使用第三方代碼。例如:若是你的項目依賴 monolog,你就能夠像這樣開始使用這個類庫,而且他們將被自動加載。
<?php 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 的國外鏡像常常沒法正常的 install
,因此推薦使用國內的鏡像,使用方式以下
有兩種方式啓用本鏡像服務:
方法一: 修改 composer 的全局配置文件
打開命令行窗口(windows用戶)或控制檯(Linux、Mac 用戶)並執行以下命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
方法二: 修改當前項目的 composer.json
配置文件:
打開命令行窗口(windows用戶)或控制檯(Linux、Mac 用戶),進入你的項目的根目錄(也就是 composer.json
文件所在目錄),執行以下命令:
composer config repo.packagist composer https://packagist.phpcomposer.com
上述命令將會在當前項目中的 composer.json
文件的末尾自動添加鏡像的配置信息(你也能夠本身手工添加):
"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } }
Composer 除了能夠幫你安裝所須要的依賴包之外,還能夠實現自動加載命名空間的功能,當咱們本身編寫的函數庫與類庫須要自動加載時,咱們就能夠經過 composer.json
來實現。它相似於 php 中的 spl_autoload_register()
, 其實若是你去查看 Composer 中的源代碼,你會看到它的自動加載功能也是用了 spl_autoload_register()
這個函數。《具體可看此文章詳細介紹》
咱們在 composer.json
裏添加以下代碼:
{ "autoload": { "psr-4": { "Test\\": "test/", "Testtwo\\": "testtwo/" } } }
這個配置文件中有一個 autoload 段,其中有個 《PSR-4》,psr-4 是一個基於 psr-4 規則的類庫自動加載對應關係,只要在其後的對象中,以 」命名空間「: 「路徑」 的方式寫入本身的類庫信息修改完成後,以後,在執行下列命令,便可完成自動加載。
composer dumpautoload
注:"psr-4": {"Test\\": "test/"}
中的 "test/" 路徑爲相對於composer.json
的路徑
這個時候,你就能夠調用你本身編寫的函數庫或者類庫了
<?php require __DIR__ . '/vendor/autoload.php'; $testClass = new \Test\Testclass(); ?>
注:本文內容參考了 《Composer 中文網》,後續還會更新 Composer 其它的實用功能