分享一个自各儿写的PHP CONFIG类
程序员文章站
2024-02-01 09:26:04
...
分享一个自己写的PHP CONFIG类
这个类最大的特点就是可以加载无线深度的配置项,而在配置的使用过程中也可以对某些配置项进行修改,深度不超过5级。
配置文件:configs/config.test.php
调用文件
这个类最大的特点就是可以加载无线深度的配置项,而在配置的使用过程中也可以对某些配置项进行修改,深度不超过5级。
/** * 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
配置文件:configs/config.test.php
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);
- 最新文章
- 热门排行
上一篇: php大型网站常用哪些技术?这些技术怎么结合到一块的
下一篇: C#基础入门-变量介绍
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论专题推荐
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习