下面由composer教程欄目帶大家介紹php-composer的安裝與使用方法(簡化版),希望對需要的朋友有所幫助!
1.簡介
Composer 是 PHP 的一個依賴管理工具。它允許你申明項目所依賴的代碼庫,它會在你的項目中為你安裝他們。
《Composer 中文網》
2.系統要求
運行 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
當你的 Composer 安裝完畢之后,你可以實用下列命令查看是否安裝成功
立即學習“PHP免費學習筆記(深入)”;
composer -v
注 如果上述方法由于某些原因失敗了,你還可以通過 php 下載安裝器:
php -r "readfile('https://getcomposer.org/installer');" | php
這將檢查一些 PHP 的設置,然后下載 composer.phar 到你的工作目錄中。這是 Composer 的二進制文件。這是一個 PHAR 包(PHP 的歸檔),這是 PHP 的歸檔格式可以幫助用戶在命令行中執行一些操作。
你可以通過 –install-dir 選項指定 Composer 的安裝目錄(它可以是一個絕對或相對路徑)
4.使用
要開始在你的項目中使用 Composer,你只需要一個 composer.json 文件。該文件包含了項目的依賴和其它的一些元數據。
首先創建一個 composer.json 文件,寫入相應的包名和版本號,如
{ "require": { "monolog/monolog": "1.13.*" } }
這是后就寫入了一個依賴包,之后安裝依賴包。獲取定義的依賴到你的本地項目,之后在你的項目目錄中(即 composer.json 所在目錄)使用 Composer 運行 install 命令。
composer install
當然,如果是在 Windows 系統中,也可以通過調用 composer.phar 包來進行依賴包的安裝。
php composer.phar install
執行 composer install,就進入自動安裝,安裝完成后會生成一個 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 中國全量鏡像
由于墻的問題,所以會導致 Composer 的國外鏡像經常無法正常的 install,所以推薦使用國內的鏡像,使用方式如下
有兩種方式啟用本鏡像服務:
- 系統全局配置: 即將配置信息添加到 Composer 的全局配置文件 config.json 中。詳見”方法一“
- 將配置信息添加到某個項目的 composer.json 文件中。詳見”方法二“
方法一: 修改 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" } }
7.使用 Composer 中的 autoload 實現自動加載命名空間
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 TestTestclass(); ?>
注:本文內容參考了《Composer 中文網》,后續還會更新 Composer 其它的實用功能