evozon-php/composer-utilities

Composer 工具

v2.0 2019-08-08 13:18 UTC

This package is auto-updated.

Last update: 2024-09-09 00:00:32 UTC


README

针对各种用例的不同 Composer 工具。

安装

composer require evozon-php/composer-utilities --dev

同步 composer.json

在处理单体仓库时,您可能拥有不同的 .json 文件。

在这种情况下,可能有一个用于开发的 .json 文件(例如 dev.json),它从本地仓库安装,也可能包含不同的版本。另一个 .json 文件(例如 composer.json)将用于从远程仓库安装软件包,并可能是稳定版本。

将以下内容添加到您的源 .json 文件中

{
  "config": {
      "composer-utilities": {
          "sync": {
              "ignore": {
                  "nodes": [
                      "[require][vendorAbc/packageAbc]",
                      "[require][vendorXyz/bundleXyz]",
                      "[repositories]"
                  ]
              }
          }
      }
  }
}

您需要做的就是定义在同步期间要忽略的节点。请确保您以 PropertyAccess 格式定义它们。

插件将自动挂载到 post-install-cmdpost-update-cmd 事件,并询问您是否要同步。

这仅适用于您明确使用自定义 .json 文件时

COMPOSER=dev.json composer install

当您想手动触发同步过程时,还添加了一个自定义命令

composer sync:json --source dev.json --target composer.json

强制更新参数

parameters.yml.dist 中的某些参数发生变化,但更新它们 parameters.yml 很繁琐时很有用。通常情况下,数组的参数会是这样。

将以下内容添加到您的 composer.json 文件中

{
  "config": {
      "composer-utilities": {
            "parameters-update": {
                "file": "app/config/parameters.yml",
                "dist-file":  "app/config/parameters.yml.dist",
                "parameters": [
                    "foo",
                    "bar"
                ]
            }
      }
  }
}

插件将自动挂载到 post-install-cmdpost-update-cmd 事件,并询问您是否要更新参数。

composer install
// or
composer update

当您想手动触发参数更新过程时,还添加了一个自定义命令

composer parameters:update --source app/config/parameters.yml.dist --target app/config/parameters.yml