icanboogie/config

综合低级别配置。

v1.3.0 2021-07-19 23:06 UTC

This package is auto-updated.

Last update: 2024-08-30 01:32:36 UTC


README

Packagist Code Quality Code Coverage Downloads

构建低级别配置的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 持续测试。

Tests Static Analysis Code Style

行为准则

本项目遵守 Contributor Code of Conduct。通过参与本项目及其社区,您应遵守此准则。

贡献

有关详细信息,请参阅 CONTRIBUTING

许可协议

icanboogie/configBSD-3-Clause 许可协议下发布。