2.3 配置的加载顺序

在本章开始的时候提到过ThinkPHP 5支持多种配置,这就会带来一个问题,即配置的加载顺序如何?如果不弄清楚这个问题,在实际开发中可能会出现由于配置冲突、覆盖之类的问题而一时找不到问题出在哪里。

ThinkPHP 5配置加载顺序如下:

(1)框架配置(框架自带的默认配置)。

(2)全局配置(application/config.php)。

(3)扩展配置(application/extra目录下的配置文件)。

(4)场景配置(上文提到的app_status常量,如定义app_status为company,框架就会加载application/company.php配置)。

(5)模块配置(application/模块名/config.php,支持app_status常量,如第4点的app_status则会加载application/模块名/company.php配置)。

(6)动态配置(使用Config类进行操作)。

可以看到优先级是从上到下越来越低,希望读者能记住配置的加载顺序,这个顺序在开发中会带来很大的方便。