欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP composer 日常使用和理解

程序员文章站 2022-03-25 19:11:12
composer的操作很多很杂,平时大都用不上,正要找又一时半会难找到 日常操作,走起 第一部分 : 安装 composer.json 这个命令创建了一个 composer.json 文件,也可以手动创建编辑,申明依赖及版本。 composer.json 内容格式详见 其中版本约束 详见 创建并填写 ......

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 

 

附录

  1. 切换中国镜像源
    composer config -g repo.packagist composer https://packagist.phpcomposer.com
  2. 在生产环境中,安装初始化项目使用  -o 选项。详见官方文档
     --optimize-autoloader (-o) :
    转换 psr-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。