一、关于Composer
PHP Composer 是 PHP 的一个包管理工具,它被广泛用于 PHP 应用程序的依赖管理。
在使用 Composer 进行 PHP 开发时,可以方便地管理应用程序的依赖关系和版本控制,通常通过配置 composer.json 文件来指定依赖关系和其它配置信息。您可以通过命令行工具执行 Composer 命令来安装、升级或删除依赖包,并且 Composer 会自动安装所需的依赖库和组件包及版本冲突问题。
二、如何安装Composer
2.1 Windows安装Composer
下载Composer安装程序:在官方网站(https://getcomposer.org/download/)上面找到Windows Installer,下载最新版本的安装程序。
运行Composer安装程序,按照提示进行安装。默认情况下,Composer会被安装在C:\ProgramData\ComposerSetup\bin
下。
配置环境变量:将Composer的bin目录添加到系统环境变量Path中,这样就可以在命令行界面使用Composer命令了。
验证安装:打开命令行界面(按Win+R键,输入cmd,回车),输入composer --version
,如果出现Composer的版本号,则表示安装成功。
使用Composer:在项目的根目录下,创建一个composer.json
文件,并通过命令行执行composer install
或composer update
即可安装或更新所需的依赖包。
2.2 Linux安装Composer
- 下载Composer安装包
curl -sS https://getcomposer.org/installer | php
- 将Composer.phar移动到可执行目录中
mv composer.phar /usr/local/bin/composer
- 检查是否安装完成
composer --version
三、项目中使用 Composer
在你的项目中使用 Composer
,只需要该项目根目录新建一个 composer.json
文件。该文件包含了项目的依赖和其它的一些元数据。
composer.json内容
3.1 关于
require
Key第一件事情(并且往往只需要做这一件事),你需要在
composer.json
文件中指定 require key 的值(告诉 Composer 你的项目需要依赖哪些包)。
{ "require": { "monolog/monolog": "1.0.*" } }
require 需要一个 包名称 (例如 monolog/monolog) 映射到 包版本 (例如 1.0.*) 的对象。
- 3.2 包名称
包名称由供应商名称和其项目名称构成。通常容易产生相同的项目名称,而供应商名称的存在则很好的解决了命名冲突的问题。它允许两个不同的人创建同样名为 json 的库,而之后它们将被命名为 igorw/json 和 seldaek/json。
- 3.2 包版本
名称 | 实例 | 版本 |
---|---|---|
确切的版本号 | 1.0.2 | 你可以指定包的确切版本。 |
范围 | >=1.0 >=1.0,<2.0 >=1.0 | 通过使用比较操作符可以指定有效的版本范围。有效的运算符:>、>=、<、<=、!=。你可以定义多个范围,用逗号隔开,这将被视为一个逻辑AND处理。一个管道符号将作为逻辑OR处理。AND 的优先级高于 OR。 |
通配符 | 1.0.* | 你可以使用通配符来指定一种模式。1.0.与>=1.0,<1.1是等效的。 |
赋值运算符 | ~1.2 | 这对于遵循语义化版本号的项目非常有用。~1.2相当于>=1.2,<2.0。想要了解更多,请阅读下一小节。 |
四、Composer常见的22个使用例子
- 3.1 查找并安装依赖包
composer search packageName
、composer require packageName
- 3.2 更新依赖包
composer update
- 3.3 安装指定版本的依赖包
composer require packageName:version
- 3.4 卸载依赖包
composer remove packageName
- 3.5 查看当前项目依赖包列表
composer show
- 3.6 初始化composer.json文件
composer init
- 3.7 安装生产环境依赖包
composer install --no-dev
- 3.8 安装开发环境依赖包
composer install --dev
- 3.9 冻结(锁定)依赖包版本
composer lock
- 3.10 安装依赖在指定的目录
composer install --prefer-dist --no-dev --optimize-autoloader --working-dir=dirName
- 3.11 下载依赖包并自动加载
require 'vendor/autoload.php';
- 3.12 生成autoload.php文件
composer dump-autoload
- 3.13 创建项目快速启动代码
composer create-project --prefer-dist laravel/laravel projectName
- 3.14 安装国内镜像加速
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
- 3.15 清理缓存
composer clear-cache
- 3.16 运行脚本
composer run-script scriptName
- 3.17 降级依赖包
composer update packageName --with-dependencies --prefer-lowest
- 3.18 展示依赖包的依赖关系
composer depends packageName
- 3.19 比较两个版本之间的差异
composer diff packageName version1 version2
- 3.20 显示指定依赖包的详细信息
composer show packageName --all
- 3.21 Composer版本更新
composer self-update
、composer selfupdate
- 3.22 执行诊断
composer diagnose
1 条评论
看的我热血沸腾啊