Thinkphp5 定义配置文件

定义配置文件目录

重新定义配置文件的作用为了以后更好的维护项目

惯例配置

    thinkphp5 默认的配置是在thinkphp/convention.php中

应用配置

thinkphp5以后可以在不改变tp框架的配置文件的基础上,重新定义配置文件,,只需要入口文件(index.php)中添加下面一行

define(CONF_PATH, DIR./../config/);

Thinkphp5 定义配置文件
在打印的配置文件信息中就多出来一项
Thinkphp5 定义配置文件

扩展配置

如果报所有的配置项圈都定义一遍,那么上面的额配置有显得臃肿不堪,所以有额外生成扩展配置,目录名以及格式都必须严格遵守规范:
在conf文件夹下新建extra文件夹(文件夹名必须为extra),在文件加下定义testextra.php(自己定义),
Thinkphp5 定义配置文件

画面打印配置文件信息
Thinkphp5 定义配置文件

注意
扩展的总key->"testextra"是extra目录下的文件名
但是tp5也允许在config文件夹下重新定义扩展配置文件,如database.php
,并且优先级高与config.php,tp的配置文件高于自定义的config.p和配置文件,扩展文件又高于配置文件

如:database下的hostname为例,到最后肯定执行database.php下载hostname,如果没有再去找config下的database 下的hostname,都没有再去找convention.php下的database 下的hostname

场景配置

可以根据不同的环境进行不同配置
具体参考官网:
例:在家和公司都要用这同意项目,但是数据库名不一样,host名不一样等就会改很多项,麻烦,直接定义两个,切换一下场景名就OK
http://www.thinkphp.cn/topic/43340.html

模块配置

在conf文件加下新建一个index文件夹,然后新建一个config.php文件,这时这个配置文件只针对index文件模块有效

在执行前台模块是打印config()信息,发现存在config/index/config.php 里面的信息,但是在admin下执行打印是并没有打印出来
前台
Thinkphp5 定义配置文件
后台
Thinkphp5 定义配置文件

当然可以在代码中动态配置
在index模块下的构造函数中
conf(“before”,“beforeAction”);
Thinkphp5 定义配置文件

如果在方法中配置
Thinkphp5 定义配置文件

那么在执行别的方法时不会加载,换句话说只在执行index方法时可以加载所配置项