本文由composer教程欄目給大家介紹安裝php composer的簡(jiǎn)明安裝步驟方法,希望對(duì)需要的朋友有所幫助!
1.簡(jiǎn)介
Composer 是 PHP 的一個(gè)依賴管理工具。它允許你申明項(xiàng)目所依賴的代碼庫,它會(huì)在你的項(xiàng)目中為你安裝他們。
2.系統(tǒng)要求
運(yùn)行 Composer 需要 PHP 5.3.2+ 以上版本。
Composer 是多平臺(tái)的,它可以同時(shí)在 Windows 、 linux 以及 OSX 平臺(tái)上運(yùn)行。
3.安裝(ubuntu)
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
當(dāng)你的 Composer 安裝完畢之后,你可以實(shí)用下列命令查看是否安裝成功
composer -v
注 如果上述方法由于某些原因失敗了,你還可以通過 php 下載安裝器:
php -r "readfile('https://getcomposer.org/installer');" | php
這將檢查一些 PHP 的設(shè)置,然后下載 composer.phar 到你的工作目錄中。這是 Composer 的二進(jìn)制文件。這是一個(gè) PHAR 包(PHP 的歸檔),這是 PHP 的歸檔格式可以幫助用戶在命令行中執(zhí)行一些操作。
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
你可以通過 –install-dir 選項(xiàng)指定 Composer 的安裝目錄(它可以是一個(gè)絕對(duì)或相對(duì)路徑)
4.使用
要開始在你的項(xiàng)目中使用 Composer,你只需要一個(gè) composer.json 文件。該文件包含了項(xiàng)目的依賴和其它的一些元數(shù)據(jù)。
首先創(chuàng)建一個(gè) composer.json 文件,寫入相應(yīng)的包名和版本號(hào),如
{ "require": { "monolog/monolog": "1.13.*" } }
這是后就寫入了一個(gè)依賴包,之后安裝依賴包。獲取定義的依賴到你的本地項(xiàng)目,之后在你的項(xiàng)目目錄中(即 composer.json 所在目錄)使用 Composer 運(yùn)行 install 命令。
composer install
當(dāng)然,如果是在 Windows 系統(tǒng)中,也可以通過調(diào)用 composer.phar 包來進(jìn)行依賴包的安裝。
php composer.phar install
執(zhí)行 composer install,就進(jìn)入自動(dòng)安裝,安裝完成后會(huì)生成一個(gè) composer.lock 文件,里面是特定的版本號(hào)名,需要這個(gè)文件和 composer.json 一起提交到版本管理里去。
最后,在需要更新依賴包的時(shí)候,可以使用以下命令
composer update
如果只想更新部分依賴
composer update monolog/monolog
5.自動(dòng)加載
對(duì)于庫的自動(dòng)加載信息,Composer 生成了一個(gè) vendor/autoload.php 文件。你可以在你項(xiàng)目的入口文件中引入它
<?php require __DIR__ . '/vendor/autoload.php'; ?>
這使得你可以很容易的使用第三方代碼。例如:如果你的項(xiàng)目依賴 monolog,你就可以像這樣開始使用這個(gè)類庫,并且他們將被自動(dòng)加載。
<?php require __DIR__ . '/vendor/autoload.php'; $log = new MonologLogger('name'); $log->pushHandler(new MonologHandlerStreamHandler('app.log', MonologLogger::WARNING)); $log->addWarning('Foo'); ?>
6.Packagist / Composer 中國(guó)全量鏡像
由于墻的問題,所以會(huì)導(dǎo)致 Composer 的國(guó)外鏡像經(jīng)常無法正常的 install,所以推薦使用國(guó)內(nèi)的鏡像,使用方式如下
有兩種方式啟用本鏡像服務(wù):
- 系統(tǒng)全局配置: 即將配置信息添加到 Composer 的全局配置文件 config.json 中。詳見”方法一“
- 將配置信息添加到某個(gè)項(xiàng)目的 composer.json 文件中。詳見”方法二“
方法一: 修改 composer 的全局配置文件
打開命令行窗口(windows用戶)或控制臺(tái)(Linux、Mac 用戶)并執(zhí)行如下命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
方法二: 修改當(dāng)前項(xiàng)目的 composer.json 配置文件:
打開命令行窗口(windows用戶)或控制臺(tái)(Linux、Mac 用戶),進(jìn)入你的項(xiàng)目的根目錄(也就是 composer.json 文件所在目錄),執(zhí)行如下命令:
composer config repo.packagist composer https://packagist.phpcomposer.com
上述命令將會(huì)在當(dāng)前項(xiàng)目中的 composer.json 文件的末尾自動(dòng)添加鏡像的配置信息(你也可以自己手工添加):
"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } }
7.使用 Composer 中的 autoload 實(shí)現(xiàn)自動(dòng)加載命名空間
Composer 除了可以幫你安裝所需要的依賴包以外,還可以實(shí)現(xiàn)自動(dòng)加載命名空間的功能,當(dāng)我們自己編寫的函數(shù)庫與類庫需要自動(dòng)加載時(shí),我們就可以通過 composer.json 來實(shí)現(xiàn)。它類似于 php 中的 spl_autoload_register(), 其實(shí)如果你去查看 Composer 中的源代碼,你會(huì)看到它的自動(dòng)加載功能也是用了 spl_autoload_register() 這個(gè)函數(shù)。《具體可看此文章詳細(xì)介紹》
我們?cè)?composer.json 里添加如下代碼:
{ "autoload": { "psr-4": { "Test": "test/", "Testtwo": "testtwo/" } } }
這個(gè)配置文件中有一個(gè) autoload 段,其中有個(gè) 《PSR-4》,psr-4 是一個(gè)基于 psr-4 規(guī)則的類庫自動(dòng)加載對(duì)應(yīng)關(guān)系,只要在其后的對(duì)象中,以 ”命名空間“: “路徑” 的方式寫入自己的類庫信息修改完成后,之后,在執(zhí)行下列命令,即可完成自動(dòng)加載。
composer dumpautoload
注: “psr-4”: {“Test”: “test/”} 中的 “test/” 路徑為相對(duì)于 ?composer.json 的路徑
這個(gè)時(shí)候,你就可以調(diào)用你自己編寫的函數(shù)庫或者類庫了
<?php require __DIR__ . '/vendor/autoload.php'; $testClass = new TestTestclass(); ?>
注:本文內(nèi)容參考了《Composer 中文網(wǎng)》,后續(xù)還會(huì)更新 Composer 其它的實(shí)用功能