jenner / config
0.5.0
2014-10-19 23:59 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: ~4
README
PHP配置加载库。该库旨在使您的应用程序能够根据运行的环境拥有不同的配置。例如,您的应用程序可以为单元测试、开发、预生产和生产拥有不同的配置。一个良好的实践是不将生产或预生产配置包含在版本控制中。为此,只需在您的 configs/environment
目录中添加一个 .gitignore
文件,并包含以下行
*
!.gitignore
需求
此库使用PHP 5.3+。
安装
建议您通过composer安装Config库。为此,请将以下行添加到您的 composer.json
文件中。
{ "require": { "sinergi/config": "dev-master" } }
用法
设置配置目录
use Sinergi\Config\Config; $config = new Config(__DIR__ . "/configs");
可选地,您还可以设置环境。设置环境会将常规配置与环境目录中的配置合并。例如,如果您设置环境为 prod,则 configs/prod/*
目录中的配置将在 configs/*
目录中的配置之上加载。以下是一个示例
$config->setEnvironment('prod');
然后您可以使用配置如下
$config->get('app.timezone');
获取器
配置获取器使用简单的语法:文件名.数组键
。
例如
$config->get('app.timezone');
您可以设置默认值,如下所示
$config->get('app.timezone', "America/New_York");
您可以使用获取器访问配置中的多维数组
$config->get('database.connections.default.host');
设置器
或者,您也可以从应用程序代码中设置配置
$config->set('app.timezone', "Europe/Berlin");
您可以设置整个配置数组
$config->set('database', [ 'host' => "localhost", 'dbname' => "my_database", 'user' => "my_user", 'password' => "my_password" ]);
示例
更多示例请参见示例文件夹。
配置文件示例
return [ 'timezone' => "America/New_York" ];