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 

 

附录

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

 

以上是关于PHP composer 日常使用和理解的主要内容,如果未能解决你的问题,请参考以下文章

使用 compose 在 AndroidView 中使用片段时崩溃

如何在片段内部使用Compose?

PHP回顾之Composer

利用 Composer 一步一步构建自己的 PHP 框架

如何手动使用 composer, artisan ...(Laravel) php 命令

Laravel基本使用