使用命名空間
composer init 一路回車生成空的composer.json文件
添加
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
<!--app 文件名稱 App命名空間-->
Composer 將注冊(cè)一個(gè) PSR-4 autoloader 到 App 命名空間。你可以定義一個(gè)從命名空間到目錄的映射。此時(shí) src 會(huì)在你項(xiàng)目的根目錄,與 vendor 文件夾同級(jí)
index.php文件
require __DIR__.'/vendor/autoload.php';
require update install
require 引入包
<!--添加指定包-->
composer require monolog/monolog
<!--指定版本-->
composer require "monolog/monolog:1.2.*"
<!--移除-->
composer remove monolog/monolog
update 更新包
<!--更新某個(gè)包-->
composer update monolog/monolog
composer update
<!--update會(huì)更新lock文件-->
install
install 命令將會(huì)檢查鎖文件是否存在,如果存在,它將下載指定的版本(忽略 composer.json 文件中的定義)如果不存在 composer.lock 文件,Composer 將讀取 composer.json 并創(chuàng)建鎖文件
composer install
版本號(hào)說明
~和^的意思很接近,在x.y的情況下是一樣的都是代表x.y <= 版本號(hào) < (x+1).0,但是在版本號(hào)是x.y.z的情況下有區(qū)別,舉個(gè)例子吧:
~1.1 代表 1.1 <= 版本號(hào) < 2.0
^1.1 代表 1.1 <= 版本號(hào) < 2.0
~1.2.3 代表 1.2.3 <= 版本號(hào) < 1.3.0
^1.2.3 代表 1.2.3 <= 版本號(hào) < 2.0.0
總結(jié):
composer update:主要是在開發(fā)階段使用,根據(jù)我們?cè)赾omposer.json文件中指定的內(nèi)容升級(jí)項(xiàng)目的依賴包。
composer install:主要是在部署階段使用,以便在生產(chǎn)環(huán)境和開發(fā)環(huán)境使用的都是composer.lock文件中相同的依賴項(xiàng),保證線上部署環(huán)境與本地開發(fā)環(huán)境的一致性。
update是更新lock文件,并且升級(jí)項(xiàng)目依賴包。install是根據(jù)lock文件更新項(xiàng)目依賴包。