oleics / ac-config
PHP 简单且不可变的配置和环境对象。
Requires
- php: >=5.5.0
- oleics/ac-common: ^1.0
- symfony/yaml: ^3.1
This package is not auto-updated.
Last update: 2024-09-18 19:04:04 UTC
README
PHP 简单且不可变的配置和环境对象。
安装
composer require oleics/ac-config
使用
使用 yaml 文件 config.yaml 作为示例
env: mode: development foo-bar: baz
配置
<?php use Ac\Config\Config; $config = Config::loadFromYaml('config.yaml'); echo $config->env->mode; // > development echo $config->fooBar; // > baz // Converts to JSON echo $config->env.''; // > {"mode":"development"} echo Config::toJson($config); // > {"env":{"mode":"development"},"foo-bar":"baz"} // Next line throws an exception $config->env = 'production';
环境
<?php use Ac\Config\Env; // maybe boot-level *hinthint* Env::loadConfigFromYaml('config.yaml'); Env::autoset(); // throws if no valid env-mode could be detected // maybe app-level *hinthint* Env::configDefaults([ 'foo' => 'bar' ]); // maybe controller-level *hinthint* echo Env::$config->env->mode === Env::getMode(); // > true if(Env::isNotProduction()) { // Something to print for non-production environments (development or staging) echo Env::$config->foo; // > bar echo Env::$config->fooBar; // > baz }
API
最终类 Config
Config 的实例是不可变的,但您可以使用静态方法在运行时创建/修改配置。
方法
void __construct ( array $data = null )
array export ()
静态方法
Config factory ( array $data = null )
Config merge ( Config $c1 [ , Config $c2, ... ])
string toJson ( Config $c1 )
string toYaml ( Config $c1 )
bool writeToYaml ( string $filepath, Config $c, $findPath = false)
Config fromYaml ( string $yaml )
Config loadFromYaml ( string $filepath, bool $findPath = false, bool $relax = false )
抽象类 Env
常量
MODE_DEVELOPMENT
MODE_STAGING
MODE_PRODUCTION
静态方法
string getMode ( )
bool isKnownMode ( string $mode )
void setMode ( string $nextMode )
如果 $nextMode 无效,则抛出异常。
void autoset ( )
尝试检测有效的环境模式。如果检测失败,则抛出异常。
bool isNotProduction ( )
bool isProduction ( )
bool isStaging ( )
bool isDevelopment ( )
void loadConfigFromYaml ( string $filename = 'config.yaml', bool $findPath = true, bool $relax = true)
void configDefaults ( array $defaults )
静态属性
Config $config
通过 Env::loadConfigFromYaml() 加载的配置对象
MIT 许可证
版权所有 (c) 2016 Oliver Leics oliver.leics@gmail.com
特此授予任何获得此软件及其相关文档副本(以下简称“软件”)的人免费使用权,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供方提供软件的人这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的任何副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论这些责任是在合同、侵权或其他方式产生的,无论这些责任与软件或其使用或与其他方式有关。