jinnguyen/puja-config

允许加载多个配置文件,以对象形式访问配置值

v1.0.0 2016-11-04 10:52 UTC

This package is not auto-updated.

Last update: 2024-09-23 12:58:09 UTC


README

允许加载多个配置文件,以对象形式访问配置值

安装

composer require jinnguyen/puja-config

用法

require 'path/to/vendor/autoload.php';

示例

文件夹树

root/
root/app/configure.php
root/app/configure_local.php
root/config/configure.php
root/config/configure_local.php

文件 root/config/configure.php

$configures['database'] = array(
    'host' => 'localhost',
);
$configures['app_name'] = 'Puja/Config';

文件 root/config/configure_local.php

$configures['database'] = array(
    'host' => 'remote_host',
);

文件 root/app/configure.php

$configures['session'] = array(
    'savePath' => '/tmp',
);

文件 root/app/configure_local.php

$configures['session'] = array(
    'savePath' => '/home/tmp',
);

文件 root/demo.php

include 'path/to/vendor/autoload.php';
use Puja\Configure\Configure;
new Configure(array('config/', 'app/'));


$databaseCfg = Configure::getInstance('database');
echo $databaseCfg->get('host'); // remote_host

$sessionCfg = Configure::getInstance('session');
echo $sessionCfg->get('savePath'); // /home/tmp

$allCfg = Configure::getInstance();
echo $allCfg->get('app_name'); // Puja/Config

注意

new Configure(array('config/', 'app/')); 等同于

require config/configure.php
require config/configure_local.php
require app/configure.php
require app/configure_local.php

因此,来自 configure_local.php 的值将覆盖同一文件夹中的 configure.php,最后一个文件夹将覆盖前面的文件夹。