composer怎么運行?
1.簡介
composer 是 php 的一個依賴管理工具。它允許你申明項目所依賴的代碼庫,它會在你的項目中為你安裝他們。
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 安裝完畢之后,你可以實用下列命令查看是否安裝成功
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使用教程欄目!