amazium / amz-config
该包已被弃用且不再维护。未建议替代包。
配置聚合器
1.0.1
2019-02-19 17:13 UTC
Requires
- php: ^7.3
- ext-json: ^1.7
- illuminate/support: ^5.7
Requires (Dev)
- phpstan/phpstan: ^0.11.2
- phpstan/phpstan-strict-rules: ^0.11.0
- phpunit/php-invoker: ^2.0
- phpunit/phpunit: 8.0.4
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^3.4
- symfony/yaml: ^4.2
This package is auto-updated.
Last update: 2020-12-28 18:16:58 UTC
README
以树形结构合并配置文件。子目录和文件作为返回配置数组的键。
假设以下文件结构
- project.config.php
- dependencies/
- factories.php
- services.php
这将创建一个配置数组,包含根目录中 project.config.php 文件的内容,然后是
$config = [ // config elements from project.config.php 'dependencies' => [ 'factories' => <whatever is returned in factories.php>, 'services' => <whatever is returned in services.php>, ], ];
当前支持 yaml、json 和 php 配置数组文件。
安装
通过 composer 安装
composer require amazium/amz-config
显式聚合器工厂
您可以明确告知系统使用哪个聚合器,可以指定一个目录或文件。文件需要能被选定的聚合器解析。
当提供目录时,此扩展名的文件也被包括为根对象的元素。名为 project.config.php
的文件将把其内容放入配置数组的 project
键中。一个结果是,文件和子路径在这个结构中处于同一级别,而当你以文件作为根时,该文件充当根元素。
示例用法
use Amz\Config\AggregateFactory; $aggregator = AggregatorFactory::createPhpAggregator('/path/to/project.config.php'); $config = $aggregator->aggregate(); // OR: $aggregator = AggregatorFactory::createPhpAggregator('/path/to'); $config = $aggregator->aggregate();
懒聚合器工厂
可以将根配置文件传递给 AggregatorFactory
工厂的静态 createAggregatorByExtension
方法。这将根据文件扩展名推断正确的聚合器。然后,它将在子目录结构中添加具有相同扩展名的所有配置文件。
示例用法
use Amz\Config\AggregateFactory; $aggregator = AggregatorFactory::createAggregatorByExtension('/path/to/project.config.php'); $config = $aggregator->aggregate();