一、关于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 installcomposer 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 packageNamecomposer 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-updatecomposer selfupdate
  • 3.22 执行诊断composer diagnose
最后修改:2023 年 12 月 13 日
如果觉得我的文章对你有用,请随意赞赏