使用命名空间
composer init
一路回车生成空的composer.json文件
添加
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
<!--app 文件名称 App命名空间-->
Composer 将注册一个 PSR-4 autoloader 到 App 命名空间。你可以定义一个从命名空间到目录的映射。此时 src 会在你项目的根目录,与 vendor 文件夹同级
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 更新包
<!--更新某个包-->
composer update monolog/monolog
composer update
<!--update会更新lock文件-->
install
install 命令将会检查锁文件是否存在,如果存在,它将下载指定的版本(忽略 composer.json 文件中的定义)如果不存在 composer.lock 文件,Composer 将读取 composer.json 并创建锁文件
composer install
版本号说明
~和^的意思很接近,在x.y的情况下是一样的都是代表x.y <= 版本号 < (x+1).0,但是在版本号是x.y.z的情况下有区别,举个例子吧:
~1.1 代表 1.1 <= 版本号 < 2.0
^1.1 代表 1.1 <= 版本号 < 2.0
~1.2.3 代表 1.2.3 <= 版本号 < 1.3.0
^1.2.3 代表 1.2.3 <= 版本号 < 2.0.0
总结:
composer update:主要是在开发阶段使用,根据我们在composer.json文件中指定的内容升级项目的依赖包。
composer install:主要是在部署阶段使用,以便在生产环境和开发环境使用的都是composer.lock文件中相同的依赖项,保证线上部署环境与本地开发环境的一致性。
update是更新lock文件,并且升级项目依赖包。install是根据lock文件更新项目依赖包。