jenner/config

PHP配置加载

0.5.0 2014-10-19 23:59 UTC

This package is auto-updated.

Last update: 2024-09-14 11:43:25 UTC


README

Build Status Latest Stable Version Total Downloads License

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"
];