PHP

如何使用Composer管理PHP项目

silverwq
2022-05-29 / 0 评论 / 284 阅读 / 正在检测是否收录...

概述

主要介绍composer安装,composer 命令,composer 版本号写法。

安装

只需要下载 composer.phar 文件到本地即可。

# 在composer.phar目录下执行
php composer.phar help

依赖包名称和版本号命名

包名称规则

组成:monolog/monolog 形式,防止重复,供应商名称+项目名称的形式

版本约束

[alt type="warning"]名称组成:[/alt]主版本号.次版本号.修订号 的形式,拓展阅读可以阅读语义化版本

  1. 主版本号:做了不兼容的修改
  2. 次版本号:做了向下兼容的功能性新增
  3. 修订号:做了向下兼容的问题修正

[alt type="warning"]版本号匹配规则:[/alt],拓展阅读在线检测匹配规则

  1. 精准匹配,匹配到:具体的版本号
    # 安装指定的1.0.0版本
    composer require "foo/bar:1.0.0"
  2. 通配符 ,匹配到:任何版本号,注意:`号必须出现在版本号的最后,6.*.4` 的形式是不可以的
    # 匹配到:任何版本
    composer require "foo/bar:*"
    # 匹配到:1开头的任何版本
    composer require "foo/bar:1.*"
    # 匹配到:1.0开头的任何版本
    composer require "foo/bar:1.0.*"
  3. 波浪号~,匹配到:>= 当前版本号 and < 当前版本号的上一级的最小版本号,注意:* 相比,~ 可以指定下限
    # >=1.0 ,<2.0.0
    composer require "foo/bar:~1.0"
    # >=1.0.1 ,<1.1.0
    composer require "foo/bar:~1.0.1"
  4. 脱字符 ^,匹配到:该主版本号开头的所有版本号,注意:和 ~ 相比,^ 只限制主版号,这个是推荐,能保证兼容性
    # >=1.1.1 并且 <2.0.0,主版本号2不能变
    composer require "foo/bar:^1.0.1"
    # >=0.3.0 并且 <0.4.0
    # 因为1.0 版本之前是不稳定的,都不考虑兼容,所以是次一级不变
    composer require "foo/bar:^0.3"
  5. 逻辑运算符,匹配到:自定义的规则,逗号代表 AND 关系,管道符号 | 表示是 OR 关系,AND 的优先级高于 OR。注意:不推荐,因为忘记限制上限的话,则会更新主版本号,导致不兼容
    # >=1.1.1 并且 <2.0.0,主版本号2不能变
    composer require "foo/bar:>=1.0"
    composer require "foo/bar:>=1.0,<2.0"
    composer require "foo/bar:>=1.0,<1.1|>=1.2"

[alt type="warning"]稳定性约束[/alt],稳定等级有以下几种方式:

  1. @stable:稳定版,这个是默认的版本
  2. @rc:候选版,几乎就不会加入新的功能了,而主要着重于除错
  3. @beta:公测版,会一直加入新的功能
  4. @alpha:内部测试版本
  5. @dev:开发版本

注意:低稳定性低的可以安装高稳定性的

# dev的可以安装所有的包
composer require laravel/laravel:"*@dev"

四、自动加载配置

  1. 引入初始化文件
    require __DIR__ . '/../vendor/autoload.php';
  2. 配置自定义加载目录,注意:相对目录是相对 composer.json 文件所在目录,需要执行 composer install 来更新缓存文件
    {
     "autoload": {
         // psr4自动加载
         "psr-4": {
             "app\\": "app"
         },
         // psr0自动加载
         "psr-0": {
             "extend": "extend/"
         }
     }
    }

五、常用命令

  1. composer init
    # 初始项目
    php composer.phar init
  2. composer install,安装依赖。不存在 composer.lock 文件,则读取 composer.json ,并创建锁文件,存在 composer.lock 文件,则直安装 lock 文件里的具体版本。注意:为了确保组员们安装的依赖版本是一致的,需将 composer.json 文件加入版本库。
    # 初始项目
    php composer.phar install
    # 如果有些linux的依赖,widows下没有,但是又要正常安装,可以选择忽略
    composer install --ignore-platform-reqs
  3. composer require,安装新的依赖包,会更新 composer.json 文件。
    composer require vendor/package:2.* vendor/package2:dev-master
  4. composer update,更新依赖。会更新依赖包,更新 lock 文件。
    # 更新所有的依赖
    composer update
    # 更新指定的依赖
    php composer.phar update monolog/monolog
    # 用空格隔开,更新多个
    php composer.phar update monolog/monolog laravel/laravel

六、拓展

  1. compser中文文档
  2. 依赖包下载
0

评论 (0)

取消