PHP依賴(lài)管理工具Composer入門(mén)教程
Composer 是 PHP 的一個(gè)依賴(lài)管理工具。它允許你申明項(xiàng)目所依賴(lài)的代碼庫(kù),它會(huì)在你的項(xiàng)目中為你安裝他們。
依賴(lài)管理Composer 不是一個(gè)包管理器。是的,它涉及 'packages' 和 'libraries',但它在每個(gè)項(xiàng)目的基礎(chǔ)上進(jìn)行管理,在你項(xiàng)目的某個(gè)目錄中(例如 vendor)進(jìn)行安裝。默認(rèn)情況下它不會(huì)在全局安裝任何東西。因此,這僅僅是一個(gè)依賴(lài)管理。
這種想法并不新鮮,Composer 受到了 node’s npm 和 ruby’s bundler 的強(qiáng)烈啟發(fā)。而當(dāng)時(shí) PHP 下并沒(méi)有類(lèi)似的工具。
Composer 將這樣為你解決問(wèn)題:
你有一個(gè)項(xiàng)目依賴(lài)于若干個(gè)庫(kù)。其中一些庫(kù)依賴(lài)于其他庫(kù)。你聲明你所依賴(lài)的東西。Composer 會(huì)找出哪個(gè)版本的包需要安裝,并安裝它們(將它們下載到你的項(xiàng)目中)。聲明依賴(lài)關(guān)系比方說(shuō),你正在創(chuàng)建一個(gè)項(xiàng)目,你需要一個(gè)庫(kù)來(lái)做日志記錄。你決定使用 monolog。為了將它添加到你的項(xiàng)目中,你所需要做的就是創(chuàng)建一個(gè) composer.json 文件,其中描述了項(xiàng)目的依賴(lài)關(guān)系。
{ 'require': {'monolog/monolog': '1.2.*' }}
我們只要指出我們的項(xiàng)目需要一些 monolog/monolog 的包,從 1.2 開(kāi)始的任何版本。
系統(tǒng)要求運(yùn)行 Composer 需要 PHP 5.3.2+ 以上版本。一些敏感的 PHP 設(shè)置和編譯標(biāo)志也是必須的,但對(duì)于任何不兼容項(xiàng)安裝程序都會(huì)拋出警告。
我們將從包的來(lái)源直接安裝,而不是簡(jiǎn)單的下載 zip 文件,你需要 git 、 svn 或者 hg ,這取決于你載入的包所使用的版本管理系統(tǒng)。
Composer 是多平臺(tái)的,我們努力使它在 Windows 、 Linux 以及 OSX 平臺(tái)上運(yùn)行的同樣出色。
Linux/Unix下安裝局部安裝
要真正獲取 Composer,我們需要做兩件事。首先安裝 Composer (同樣的,這意味著它將下載到你的項(xiàng)目中):
curl -sS https://getcomposer.org/installer | php
注意: 如果上述方法由于某些原因失敗了,你還可以通過(guò) php >下載安裝器:
php -r 'readfile(’https://getcomposer.org/installer’);' | php
這將檢查一些 PHP 的設(shè)置,然后下載 composer.phar 到你的工作目錄中。這是 Composer 的二進(jìn)制文件。這是一個(gè) PHAR 包(PHP 的歸檔),這是 PHP 的歸檔格式可以幫助用戶(hù)在命令行中執(zhí)行一些操作。
你可以通過(guò) --install-dir 選項(xiàng)指定 Composer 的安裝目錄(它可以是一個(gè)絕對(duì)或相對(duì)路徑):
curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
全局安裝
你可以將此文件放在任何地方。如果你把它放在系統(tǒng)的 PATH 目錄中,你就能在全局訪問(wèn)它。 在類(lèi)Unix系統(tǒng)中,你甚至可以在使用時(shí)不加 php 前綴。
你可以執(zhí)行這些命令讓 composer 在你的系統(tǒng)中進(jìn)行全局調(diào)用:
curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer
注意: 如果上訴命令因?yàn)闄?quán)限執(zhí)行失敗, 請(qǐng)使用 sudo 再次嘗試運(yùn)行 mv 那行命令。 現(xiàn)在只需要運(yùn)行 composer 命令就可以使用 Composer 而不需要輸入 php composer.phar。
全局安裝 (on OSX via homebrew)
Composer 是 homebrew-php 項(xiàng)目的一部分。
brew updatebrew tap josegonzalez/homebrew-phpbrew tap homebrew/versionsbrew install php55-intlbrew install josegonzalez/php/composerWindows下安裝
使用安裝程序
這是將 Composer 安裝在你機(jī)器上的最簡(jiǎn)單的方法。
下載并且運(yùn)行 Composer-Setup.exe,它將安裝最新版本的 Composer ,并設(shè)置好系統(tǒng)的環(huán)境變量,因此你可以在任何目錄下直接使用 composer 命令。
手動(dòng)安裝
設(shè)置系統(tǒng)的環(huán)境變量 PATH 并運(yùn)行安裝命令下載 composer.phar 文件:
C:Usersusername>cd C:binC:bin>php -r 'readfile(’https://getcomposer.org/installer’);' | php
注意: 如果收到 readfile 錯(cuò)誤提示,請(qǐng)使用 http 鏈接或者在 php.ini 中開(kāi)啟 php_openssl.dll 。 在 composer.phar 同級(jí)目錄下新建文件 composer.bat :
C:bin>echo @php '%~dp0composer.phar' %*>composer.bat
關(guān)閉當(dāng)前的命令行窗口,打開(kāi)新的命令行窗口進(jìn)行測(cè)試:
C:Usersusername>composer -VComposer version 27d8904使用 Composer
現(xiàn)在我們將使用 Composer 來(lái)安裝項(xiàng)目的依賴(lài)。
要解決和下載依賴(lài),請(qǐng)執(zhí)行 install 命令:
php composer.phar install
如果你進(jìn)行了全局安裝,并且沒(méi)有 phar 文件在當(dāng)前目錄,請(qǐng)使用下面的命令代替:
composer install
繼續(xù) 上面的例子,這里將下載 monolog 到 vendor/monolog/monolog 目錄。
自動(dòng)加載除了庫(kù)的下載,Composer 還準(zhǔn)備了一個(gè)自動(dòng)加載文件,它可以加載 Composer 下載的庫(kù)中所有的類(lèi)文件。使用它,你只需要將下面這行代碼添加到你項(xiàng)目的引導(dǎo)文件中:
require ’vendor/autoload.php’;
現(xiàn)在我們就可以使用 monolog 了!
原文:http://docs.phpcomposer.com/00-intro.md
相關(guān)文章:
1. 測(cè)試模式 - XSL教程 - 52. 用xslt+css讓RSS顯示的跟網(wǎng)頁(yè)一樣漂亮3. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫(huà)特效4. 《CSS3實(shí)戰(zhàn)》筆記--漸變?cè)O(shè)計(jì)(一)5. 移動(dòng)端HTML5實(shí)現(xiàn)拍照功能的兩種方法6. 讓chatgpt將html中的圖片轉(zhuǎn)為base64方法示例7. html5手機(jī)觸屏touch事件介紹8. ASP.NET Core自定義中間件的方式詳解9. ASP.NET MVC把數(shù)據(jù)庫(kù)中枚舉項(xiàng)的數(shù)字轉(zhuǎn)換成文字10. 教你JS更簡(jiǎn)單的獲取表單中數(shù)據(jù)(formdata)
