您的位置:首页 > 其它

动态载入配置文件

2014-12-03 09:55 148 查看

动态载入配置文件

浏览:2562 发布日期:1970/01/01 分类:3.0.0

增加动态载入配置文件支持,可以在你的项目配置文件中添加LOAD_EXT_CONFIG定义即可。
LOAD_EXT_CONFIG参数支持字符串和数组两种方式,代表不同的用法,一般使用比较多的是采用字符串方式定义,例如:
'LOAD_EXT_CONFIG'=>'user,db';

复制代码

多个文件用逗号分隔,不需要添加文件后缀。例如,通过上面的定义后,你的项目就会自动加载下面两个配置文件:
用户配置文件项目目录/Conf/user.php
数据库配置文件项目目录/Conf/db.php
动态配置文件支持子目录放置,例如下面可以指定加载debug目录下面的配置文件:
'LOAD_EXT_CONFIG'=>'debug/user,debug/db';

复制代码

通过上面的定义后,你的项目就会自动加载下面两个配置文件:
用户配置文件项目目录/Conf/debug/user.php
数据库配置文件项目目录/Conf/debug/db.php
默认情况下,动态加载的配置文件中的设置参数会并入项目配置文件中。也就是默认都是一级配置参数,假如user.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');

复制代码

这种方式可以避免大项目情况中的参数冲突问题。
注意:这种定义方式下面,二级配置参数是区分大小写的,获取的时候必须和定义的时候保持一致。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: