opxcore / config
OpxCore 配置。
Requires
- php: ^7.4
- opxcore/array: ^1.0.0
- opxcore/config-cache-interface: ^1.0.1
- opxcore/config-environment-interface: ^1.0.0
- opxcore/config-interface: ^1.0.1
- opxcore/config-repository-interface: ^1.0.2
Requires (Dev)
- phpunit/phpunit: ^9.5
README
配置
配置是一个组件,用于为您的项目加载配置。它使用三个组件作为依赖注入:配置仓库加载器、配置缓存和环境变量。所有这些都被设置为依赖注入到配置中。通常,您可以使用操作本地文件的标准组件。此外,您还可以根据需要创建自己的组件。每个组件都必须实现相应的接口(见下文)。
当然,这三个组件是可选的。如果未设置组件,则它所提供的功能将无法使用。
创建
$config = new \OpxCore\Config\Config($repository, $cache, $environment);
配置仓库
配置仓库提供加载配置的功能。此组件必须实现 ConfigRepositoryInterface。
配置缓存
此组件提供配置缓存的功能。此组件必须实现 ConfigCacheInterface。
实现: ConfigCacheFiles
环境
此组件提供通过环境文件定义配置值的功能。此组件必须实现 EnvironmentInterface。
实现: Environment
如果将环境分配给配置,则最后一个可以使用环境变量来配置缓存驱动程序。
# Is config caching disabled. true of false CONFIG_CACHE_ENABLE=true # Cache lifetime in seconds. null for forever CONFIG_CACHE_TTL=null
加载配置
$config->load($profile, $overrides, $force);
$profile
和 $overrides
是传递给配置仓库(见 repository)的变量,以获取更多信息。
如果 $forse
设置为 true
,则将跳过从缓存中加载配置,因为未找到缓存的配置。
访问配置
Config 实现了 ArrayAccess
接口,因此您可以像使用数组一样使用 $config
。
通过 Array 实现访问配置,因此所有使用键的操作都使用点表示法。
$config->has($key);
与 isset($config[$key]);
相同,检查值是否已定义;
$config->get($key, $default);
与 $config[$key];
相同,获取值;
$config->set($key, $value);
与 $config[$key] = $value;
相同,设置值;
$config->push($key, $value);
添加值;
$config->all();
返回所有配置数组。