PHP composer 日常使用和理解
Posted saopanda
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP composer 日常使用和理解相关的知识,希望对你有一定的参考价值。
composer的操作很多很杂,平时大都用不上,正要找又一时半会难找到
日常操作,走起
第一部分 : 安装 composer.json
composer init
这个命令创建了一个 composer.json 文件,也可以手动创建编辑,申明依赖及版本。
composer.json 内容格式详见
{ "require": { "monolog/monolog": "1.0.*" } }
其中版本约束 详见
名称 | 实例 | 描述 |
---|---|---|
确切的版本号 | 1.0.2 |
你可以指定包的确切版本。 |
范围 | >=1.0 >=1.0,<2.0 >=1.0,<1.1|>=1.2 |
通过使用比较操作符可以指定有效的版本范围。 有效的运算符: > 、>= 、< 、<= 、!= 。 你可以定义多个范围,用逗号隔开,这将被视为一个逻辑AND处理。一个管道符号 | 将作为逻辑OR处理。 AND 的优先级高于 OR。 |
通配符 | 1.0.* |
你可以使用通配符* 来指定一种模式。1.0.* 与>=1.0,<1.1 是等效的。 |
赋值运算符 | ~1.2 |
这对于遵循语义化版本号的项目非常有用。~1.2 相当于>=1.2,<2.0 。想要了解更多,请阅读下一小节。 |
composer install
创建并填写好composer.json ,执行 install 命令来进行第一次安装
第一次安装会检查里面列的软件包,依赖等,寻找合适(通过约束)的版本号
之后会生成一个锁文件 composer.lock
锁文件里记录了每一个包确切的版本号
再次执行安装的时候会检查锁文件是否存在,存在就按照锁文件中指定的直接安装
第二部分 : 向项目(已存在composer.json)中添加包
composer require 依赖包/依赖包:版本号
还可以同时添加多个 空格空开 eg: doctrine/orm:1.0.0
第三部分 : 更新
composer update
这条命令无视锁文件,把 composer.json 里列的依赖更新一遍,重新生成锁文件
第四部分:用依赖包创建项目
composer create-project 依赖包/依赖包 路径路径 版本版本
注意 用包创建项目时,也可以指定版本,但版本约束在第三个参数,第二个参数是项目路径(相对)。未指定版本默认安装最新版本
eg: laravel/laravel path 5.8.0
附录
- 切换中国镜像源
composer config -g repo.packagist composer https://packagist.phpcomposer.com
- 在生产环境中,安装初始化项目使用 -o 选项。详见官方文档
--optimize-autoloader (-o) :
转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
以上是关于PHP composer 日常使用和理解的主要内容,如果未能解决你的问题,请参考以下文章
使用 compose 在 AndroidView 中使用片段时崩溃