时间:2021-07-01 10:21:17 帮助过:17人阅读
/**
 * config.php
 *
 * discription
 *
 * @filename config.php
 * @version  v1.0
 * @update   2011-8-9
 * @author   randy.hong
 * @contact	 homingway@163.com
 * @package  config
 */
define('DS',			DIRECTORY_SEPARATOR);
define('PATH_CONFIG',	'.'.DS.'configs');
//config param key separator
define('CONFIG_SEPARATOR',	'.');
class CONFIG{
	protected static $_configarray 	= array();
	/**
	 * 获取一个配置
	 * @param string $key
	 * @return mixed
	 */
	public static function get($key=''){
		//inlegal param,return false
		if(!$key){
			return false;
		}
		//without separator in param, return the whole config file
		if(strpos($key,CONFIG_SEPARATOR)===false){
			if(!isset(self::$_configarray[$key])){
				$cfg_file = PATH_CONFIG.DS.'config.'.$key.'.php';
				if(file_exists($cfg_file)){
					self::$_configarray[$key] = include_once($cfg_file);
				}
			}
			return self::$_configarray[$key];
		} else {
			$param = explode(CONFIG_SEPARATOR,$key);
			if(!isset(self::$_configarray[$param[0]])){
				$cfg_file = PATH_CONFIG.DS.'config.'.$param[0].'.php';
				if(file_exists($cfg_file)){
					self::$_configarray[$param[0]] = include_once($cfg_file);
				}
			}
			$tmp_config = null;
			for($i=1;$i
 return array( 'test1' => array( 'test2' => array( 'test3' => array( 'test4' => array( 'test5' => 5555, ), ), ), ) );
include_once('config.php');
$config = CONFIG::get('test.test1');
print_r($config);
CONFIG::set('test.test1',222);
$config = CONFIG::get('test.test1');
print_r($config);
1 楼 lifei6671 2011-08-13
这个好像和discuz的配置文件有异曲同工的效果!