icanboogie / config
综合低级别配置。
v1.3.0
2021-07-19 23:06 UTC
Requires
- php: >=5.5
- icanboogie/common: ^1.2|^2.0
- icanboogie/storage: ^2.0|^3.0
README
构建低级别配置的API。
此包被框架 ICanBoogie 用于配置其组件。
配置通过一组称为 片段 的文件定义。构建器使用这些片段来构建配置。配置由一个 Config 实例管理。配置可以被缓存,从而取消构建的成本。
安装
composer require icanboogie/config
配置片段
配置片段是一个返回可调用的PHP文件。使用多个片段来构建配置。它们通常位于“config”目录中,并且通常以用于构建的配置命名。
配置
配置由一个 Config 实例表示,用作数组来访问特定配置。
以下示例演示了如何获取类 MyConfig
的配置
<?php /* @var \ICanBoogie\Config $config */ $my_config = $config->config_for_class(MyConfig::class);
如果没有为配置类定义构建器,则会抛出 NoBuilderDefined 异常。
配置构建器
为每个配置定义构建器。
<?php use ICanBoogie\Config; /* @var string[] $paths */ $builders = [ MyConfig::class => MyBuilder::class ]; $config = new Config($paths, builders); $my_config = $config->config_for_class(MyConfig::class);
缓存配置
通过重用先前构建的结果来缓存配置以取消构建的成本。要启用缓存,您只需提供实现 Storage 的缓存即可。
<?php namespace ICanBoogie; $config = new Config($paths, $builders, $cache);
持续集成
项目通过 GitHub actions 持续测试。
行为准则
本项目遵守 Contributor Code of Conduct。通过参与本项目及其社区,您应遵守此准则。
贡献
有关详细信息,请参阅 CONTRIBUTING。
许可协议
icanboogie/config 在 BSD-3-Clause 许可协议下发布。