扩展配置可以支持自动加载额外的自定义配置文件,并且配置格式和项目配置一样。设置扩展配置的方式如下(多个文件用逗号分隔):
// 加载扩展配置文件
'LOAD_EXT_CONFIG' => 'user,db',
假设扩展配置文件user.php
和db.php
分别用于用户配置和数据库配置,这样做的好处是哪怕以后关闭调试模式,你修改db配置文件后依然会自动生效。
如果在应用公共设置文件中配置的话,那么会自动加载应用公共配置目录下面的配置文件Application/Common/Conf/user.php
和Application/Common/Conf/db.php
。
如果在模块(假设是Home模块)的配置文件中配置的话,则会自动加载模块目录下面的配置文件 Application/Home/Conf/user.php
和 Application/Home/Conf/db.php
。
默认情况下,扩展配置文件中的设置参数会并入项目配置文件中。也就是默认都是一级配置参数,例如user.php中的配置参数如下:
<?php
//用户配置文件
return array(
'USER_TYPE' => 2, //用户类型
'USER_AUTH_ID' => 10, //用户认证ID
'USER_AUTH_TYPE' => 2, //用户认证模式
);
那么,最终获取用户参数的方式是:
C('USER_AUTH_ID');
按照上面官方开发手册做好了配置,主要配置在Application/Common/Conf/config.php,加载的配置在Application/Common/Conf/extension.php,运行测试后发现调用C函数无法读取配置,连'LOAD_EXT_CONFIG'的值都输出为null。
多次调试后才发生时缓存的问题,清空了Runtime目录下的内容即可。