jomisacu/configloader

简单的配置系统

v1.0.2 2017-04-11 04:08 UTC

This package is auto-updated.

Last update: 2024-09-29 04:31:14 UTC


README

提供处理配置值的简单接口。

概念

配置根目录

这是一个存储所有配置文件的地方,这些文件位于表示环境的子目录下。

环境

一个环境代表目录根下的一个目录。

默认情况下,选择的环境是ConfigLoader::ENV_PRODUCTION ("生产"),要覆盖此设置,可以在配置根目录下放置一个名为ENVIRONMENT.txt的文件,其中包含环境名称,或者通过HTTP服务器配置$_SERVER['ENVIRONMENT']变量。例如,您可以在Apache中设置此变量,添加以下行

# httpd.conf or .htaccess 
SetEnv ENVIRONMENT 'development'

配置文件

配置文件是一个纯PHP文件,其中包含一个名为$config的数组,包含特定的作用域值。例如

<?php // [config root dir]/[selected environment]/default.php file

$config['system_timezone'] = 'Americas/Santo_Domingo';

安装

php composer.phar require "jomisacu/configloader"

用法

使用此包至少需要以下步骤

  1. 包含
<?php

include "vendor/autoload.php";
  1. 创建实例
<?php

// for specific environment values.
// represents a sub directory on config files root directory
// it's a string and can exists any number of environments
$environment = \Jomisacu\ConfigLoader::ENV_DEVELOPMENT; 

// directory where resides configuration environments dirs
// -+ config (config root)
//	|-- development
//	|-- production
//	|-- testing
//	|-- qa
//	|-- example
//	|-- ... 
$configFilesRootDir = __DIR__ . '/config';

// configuration files to be loaded automatically
$autoloadFiles = ['default'];

$config = \Jomisacu\ConfigLoaderFactory::create($configFilesRootDir, $environment, $autoloadFiles);
   
  1. 访问配置值
<?php

// ...

// load files
$config->load('default');

// via method call
echo $config->get('system_timezone') . "<br />";

// via magic method
echo $config->system_timezone . "<br />";

// ...