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