3.8 扩展配置

项目配置文件在部署模式的时候会纳入编译缓存,也就是说编译后再修改项目配置文件就不会立刻生效,需要删除编译缓存后才能生效。扩展配置文件则不受此限制影响,即使在部署模式下面,修改配置后可以实时生效,并且配置格式和项目配置一样。
设置扩展配置的方式如下(多个文件用逗号分隔):'LOAD_EXT_CONFIG' => 'user,db', // 加载扩展配置文件项目设置了加载扩展配置文件user.php 和db.php分别用于用户配置和数据库配置,那么会自动加载项目配置目录下面的配置文件Conf/user.php和Conf/db.php。
默认情况下,扩展配置文件中的设置参数会并入项目配置文件中。也就是默认都是一级配置参数,例如user.php中的配置参数如下:<?php
    //用户配置文件
    return array(
        'USER_TYPE'      => 2, //用户类型
        'USER_AUTH_ID'   => 10, //用户认证ID
        'USER_AUTH_TYPE' => 2, //用户认证模式
    );
那么,最终获取用户参数的方式是:C('USER_AUTH_ID');
如果希望采用二级配置方式,可以设置如下:'LOAD_EXT_CONFIG' => array(
    'USER' => 'user', //用户配置
    'DB'   => 'db', //数据库配置
), //加载扩展配置文件
同样的user.php 配置文件内容,但最终获取用户参数的方式就变成了:C('USER.USER_AUTH_ID');这种方式可以避免大项目情况中的参数冲突问题。
下面的一些配置文件已经被系统使用,请不要作为自定义的扩展配置重新定义:
文件名 说明
config.php 项目配置文件
tags.php 项目行为配置文件
alias.php 项目别名定义文件
debug.php 项目调试模式配置文件(以及项目设置的APP_STATUS对应的配置文件)
core.php 项目追加的核心编译列表文件(不会覆盖核心编译列表)