在 ThinkPHP 3.0 中引入了扩展配置。扩展配置的优先级仅次于动态配置而高于惯例配置,项目配置等。
项目配置文件在部署模式的时候会纳入编译缓存,也就是说编译后再修改项目配置文件就不会立刻生效,需要删除编译缓存后才能生效。扩展配置文件则不受此限制影响,即使在部署模式下面,修改配置后也可以实时生效。
基于扩展配置的以上特性,通常扩展配置是为了某些特殊的需要,而从项目配置里面分离出来的一些配置信息,这样的目的是为了便于维护和管理。
定义扩展配置
扩展配置文件位于项目配置目录下(PS:这个比较重要),如 Conf/user.php,要启用扩展配置,首先需要在项目配置文件里面定义 LOAD_EXT_CONFIG 参数:
立即学习“PHP免费学习笔记(深入)”;
'LOAD_EXT_CONFIG'=>'user', // 还可以定义多个扩展配置文件 'LOAD_EXT_CONFIG'=>'user,db',
如上面的参数定义所示,扩展配置可以是一个或多个配置文件。
编辑 Conf/user.php 文件,写入配置参数:
<?php return array( 'USER_TYPE' => 2, 'USER_AUTH_TYPE' => 1, ); ?>
那么在操作方法里就可以通过 C 方法来读取扩展配置里的参数:
C('USER_TYPE')
在项目配置文件中,也可以以二级配置方式加载加载扩展配置文件:
'LOAD_EXT_CONFIG'=>array('USER'=>'user','DB'=>'db'),
那么同样的 user.php 扩展配置文件,要获取配置参数值的方式改变为:
C('USER.USER_TYPE')
二级配置方式,可以避免大项目中参数冲突问。
避免和系统内置配置文件发生冲突
下面表格中列出的配置文件已经被 ThinkPHP 系统使用,在定义扩展配置文件时,请勿使用下面的文件名:
推荐教程:thinkphp/" target="_blank">thinkphp教程