laminas / laminas-config-aggregator
轻量级库,用于收集和合并来自不同来源的配置
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- brick/varexporter: ^0.5.0 || ^0.4.0
- laminas/laminas-stdlib: ^3.18.0
- webimpress/safe-writer: ^2.2.0
Requires (Dev)
- laminas/laminas-coding-standard: ~2.5.0
- laminas/laminas-config: ^3.9.0
- phpunit/phpunit: ^10.5.11
- psalm/plugin-phpunit: ^0.19.0
- vimeo/psalm: ^5.22.2
Suggests
- laminas/laminas-config: Allows loading configuration from XML, INI, YAML, and JSON files
- laminas/laminas-config-aggregator-modulemanager: Allows loading configuration from laminas-mvc Module classes
- laminas/laminas-config-aggregator-parameters: Allows usage of templated parameters within your configuration
Conflicts
- 1.16.x-dev
- 1.15.x-dev
- 1.15.0
- 1.14.x-dev
- 1.14.0
- 1.13.x-dev
- 1.13.0
- 1.12.x-dev
- 1.12.0
- 1.11.x-dev
- 1.11.0
- 1.10.x-dev
- 1.10.0
- 1.9.x-dev
- 1.9.0
- 1.8.x-dev
- 1.8.0
- 1.7.x-dev
- 1.7.0
- 1.6.x-dev
- 1.6.0
- 1.5.x-dev
- 1.5.0
- 1.4.x-dev
- 1.4.0
- 1.3.x-dev
- 1.3.0
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.1
- 1.0.0
- 0.2.1
- 0.2.0
- 0.1.0
- dev-renovate/lock-file-maintenance
- dev-renovate/phpunit-phpunit-11.x
This package is auto-updated.
Last update: 2024-09-16 04:43:30 UTC
README
🇷🇺 俄罗斯公民
我们,Laminas的参与者,来自不同的国家。我们中许多人既有在俄罗斯的朋友、亲属和同事,也有在乌克兰的。我们中的一些人出生在俄罗斯。我们中的一些人现在住在俄罗斯。我们中的一些人的祖父母曾在二战中与法西斯主义者作战。在这里,没有人支持法西斯主义。
我们其中一人有一位乌克兰亲属,她和儿子一起从家中逃离。由于前方道路上的轰炸,火车延误了。我们有一些朋友在防空洞里躲避。我们在空袭后焦急地等待他们的消息,空袭不分青红皂白地攻击医院、学校、幼儿园和住宅。我们不是从任何媒体上得知这些消息的。我们亲眼目睹了这一切。
您足够信任我们使用我们的程序,我们请求您再次信任我们。我们需要您的帮助。走出家门,抗议这场毫无意义的战争。停止杀戮。说“停止战争!”
🇺🇸 致俄罗斯公民
我们Laminas来自世界各地。我们中许多人既有在俄罗斯的朋友、家人和同事,也有在乌克兰的。我们中的一些人出生在俄罗斯。我们中的一些人现在住在俄罗斯。我们中的一些人的祖父母曾在二战中与纳粹作战。在这里,没有人支持法西斯主义。
一位团队成员有一位乌克兰亲属,她和儿子一起逃离了她的家。由于前方道路上的轰炸,火车延误了。我们有一些朋友在防空洞里躲避。我们在空袭后焦急地等待他们的消息,空袭不分青红皂白地攻击医院、学校、幼儿园和住宅。我们不是从任何媒体上得知这些消息的。这是我们亲身的经历。
您足够信任我们使用我们的软件。我们请求您信任我们说出真相。我们需要您的帮助。走出家门,抗议这场不必要的战争。停止杀戮。说“停止战争!”
聚合并合并来自多种格式的配置。支持缓存以在生产环境中快速启动。
用法
独立的 ConfigAggregator
可以用来合并基于PHP的配置文件
use Laminas\ConfigAggregator\ConfigAggregator; use Laminas\ConfigAggregator\PhpFileProvider; $aggregator = new ConfigAggregator([ new PhpFileProvider('*.global.php'), ]); var_dump($aggregator->getMergedConfig());
使用此提供者,每个文件应返回一个PHP数组
// db.global.php return [ 'db' => [ 'dsn' => 'mysql:...', ], ]; // cache.global.php return [ 'cache_storage' => 'redis', 'redis' => [ ... ], ];
结果
array(3) { 'db' => array(1) { 'dsn' => string(9) "mysql:..." } 'cache_storage' => string(5) "redis" 'redis' => array(0) { ... } }
配置以传递的顺序合并,后来条目具有优先级。
与 laminas-config
一起,laminas-config-aggregator
还可以用来加载不同格式的配置,包括 YAML、JSON、XML 或 INI
use Laminas\ConfigAggregator\ConfigAggregator; use Laminas\ConfigAggregator\LaminasConfigProvider; $aggregator = new ConfigAggregator([ new LaminasConfigProvider('config/*.{json,yaml,php}'), ]);
有关更多详细信息,请参阅文档。