动态载入配置文件
浏览:2562 发布日期:1970/01/01 分类:3.0.0
增加动态载入配置文件支持,可以在你的项目配置文件中添加LOAD_EXT_CONFIG定义即可。
LOAD_EXT_CONFIG参数支持字符串和数组两种方式,代表不同的用法,一般使用比较多的是采用字符串方式定义,例如:
动态配置文件支持子目录放置,例如下面可以指定加载debug目录下面的配置文件:
默认情况下,动态加载的配置文件中的设置参数会并入项目配置文件中。也就是默认都是一级配置参数,假如user.php中的配置参数如下:
但是,这种情况下面如果配置文件较多的话,可能存在冲突的情况,如果希望采用二级配置方式,就需要使用数组方式设置了:
注意:这种定义方式下面,二级配置参数是区分大小写的,获取的时候必须和定义的时候保持一致。
LOAD_EXT_CONFIG参数支持字符串和数组两种方式,代表不同的用法,一般使用比较多的是采用字符串方式定义,例如:
- 'LOAD_EXT_CONFIG'=>'user,db';
复制代码
多个文件用逗号分隔,不需要添加文件后缀。例如,通过上面的定义后,你的项目就会自动加载下面两个配置文件:
用户配置文件 | 项目目录/Conf/user.php |
数据库配置文件 | 项目目录/Conf/db.php |
- 'LOAD_EXT_CONFIG'=>'debug/user,debug/db';
复制代码
通过上面的定义后,你的项目就会自动加载下面两个配置文件:
用户配置文件 | 项目目录/Conf/debug/user.php |
数据库配置文件 | 项目目录/Conf/debug/db.php |
- <?php
- //用户配置文件
- return array(
- 'USER_TYPE' =>2, //用户类型
- 'USER_AUTH_ID' => 10, //用户认证ID
- 'USER_AUTH_TYPE' => 2, //用户认证模式
- );
复制代码
那么,最终获取用户参数的方式是:- C('USER_TYPE');
- C('USER_AUTH_ID');
- C('USER_AUTH_TYPE');
复制代码
注意:无论是在定义的时候还是获取的时候,配置参数都不区分大小写。
但是,这种情况下面如果配置文件较多的话,可能存在冲突的情况,如果希望采用二级配置方式,就需要使用数组方式设置了:
- 'LOAD_EXT_CONFIG' => array(
- 'USER' => 'user', //用户配置
- 'DB' => 'database', //数据库配置
- ), //加载扩展配置文件
复制代码
同样的user.php 配置文件内容,但最终获取用户参数的方式就变成了:- C('USER.USER_TYPE');
- C('USER.USER_AUTH_ID');
- C('USER.USER_AUTH_TYPE');
复制代码
这种方式可以避免大项目情况中的参数冲突问题。注意:这种定义方式下面,二级配置参数是区分大小写的,获取的时候必须和定义的时候保持一致。