fi1a/package-config

包配置管理

安装: 153

依赖: 1

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

公开问题: 0

类型:composer-plugin

dev-master 2023-02-18 08:59 UTC

This package is auto-updated.

Last update: 2024-09-18 12:24:15 UTC


README

Latest Version Software License PHP Version Coverage Status Total Downloads Support mail

该包提供在您的包中使用配置文件的功能。它将所有安装包的配置文件合并为一个,并提供按组访问。该包实现了Composer的插件系统,该系统在安装新包时直接构建配置。

安装

可以使用Composer将该包安装为依赖项。

composer require fi1a/package-config

使用

该包是一个Composer插件。安装或删除包时,将调用事件处理器,它们将启动配置构建

  • 检查已安装包的composer.json文件中extra部分是否存在package-config键;
  • 形成所有包的配置文件映射,并保存在文件vendor/fi1a/package-config/runtime/.map.json中。

composer.json文件中extra部分的package-config键可以具有以下结构

{
  "extra": {
    "package-config": {
      "params": "params.php",
      "web": "web.php",
      "modules": [
        {
          "sort": 1000,
          "file": "modules2.php"
        },
        {
          "sort": 900,
          "file": "modules1.php"
        }
      ]
    }
  }
}

paramswebmodules是配置组名称。根据此参数,将组合配置中的值(例如,来自params.php文件的配置将记录在params组中,并可通过该值访问)。

params.phpweb.phpmodules1.phpmodules2.phpconfigs目录中配置文件的名字。

sort键的值表示在合并前按哪个排序对配置文件进行排序。相应地,此参数影响哪个配置文件中的值将被重写。对于包,默认排序为500,对于根包为1000。

包的配置文件必须放在您的包的configs目录中。

要访问配置文件值,可以使用助手config(string $group)

config('params')->get('foo:bar:baz', 'defaultValue');

助手返回包fi1a/config中的Fi1a\Config\ConfigValuesInterface对象。该类允许通过路径(foo:bar:baz)访问数组键。

命令

插件向Composer添加了package-config-publishpackage-config-rebuild命令。

package-config-publish命令将包的配置文件发布到根包的configs目录

composer package-config-publish <package-name> [files]

发布包的所有配置文件

composer package-config-publish foo/bar

发布指定的配置文件

composer package-config-publish foo/bar params.php web.php

package-config-rebuild命令启动配置构建。当添加新配置文件或更改排序需要重新创建配置文件映射时,这将很有用。

composer package-config-rebuild