每日随记--TP5中 配置目录

TP5 中配置文件


1.默认配置目录:

application 目录下有config.php(默认配置)文件,application 目录模块下可以添加对当前模块的config.php配置文件

convention.php 为框架惯例文件,默认配置文件如未修改,则和thinkphp目录下的convention.php文件一样。

在默认模块默认控制器默认方法内 dump(\think\Config::get()); 可打印出所有配置项,修改config文件可动态变更配置项

2.自定义配置目录:

在入口文件中添加CONF_PATH常量之后,创建对应目录即可

自定义配置目录修改框架入口文件(\public\index.php),定义自定义配置的目录,并按照定义目录添加相应配置文件,使用return 返回数组的方式修改添加配置项,如和config目录平级的config文件为应用级配置文件,在config目录下创建相应模块目录,再添加config文件,则此config文件和应用中相应的模块进行绑定

3.扩展配置目录:


在2中创建的config目录下创建extra目录,创建自定义配置文件,使用数组设置配置项,此时\think\Config::get() 返回配置项增加,相关配置项名为自定义配置文件名,内容为数组内配置内容

在模块目录下添加extra目录,增加自定义php文件,文件内return数组作为配置项,此时返回配置项增加,增加配置项名为自定义php文件名,基本同上

TP5配置目录主要分为以上三类:默认配置目录,自定义配置目录和扩展配置目录,三种配置目录方式输出配置项均会与应用配置文件合并后输出

相应模块下创建extra目录,使用数组方式返回配置项,配置项名称为相应文件名称,


自定义配置文件格式:

TP5支持四种配置文件格式(扩展名):



默认模式即为数组键值对,在相应config文件内设置即可

其余三项均需要在入口文件定义配置文件后缀  常量 CONF_EXT 配置为相应后缀即可,相应配置文件名均为config(.ini/.xml/.json)

ini名值对配置文件  不需要分隔符 相关备注前加;


xml标签对配置文件  根节点标签名称不影响配置项   

json对象属性名值对配置文件  使用json对象方式设置配置项

实际工作中用的最多的是数组,其它格式,了解即可。所有格式的配置文件,最终返回的的都是Array数组键值对。


使用场景:在不同的环境下使用不同的配置项,比如为不同数据库环境创建不同的数据库连接配置

实现步骤:1.修改应用或模块排至文件中的‘app_status’,将值设置为场景名称,如:home

2.在与改配置文同级的目录下,创建与场景名称同名的配置文件,如home.php

3.再次执行,会自动根据场景配置文件(home.php)更新当前应用的配置文件


简单来说就是在相应配置文件内配置app_status配置, 在相应文件目录下添加相应文件名称php文件,文件内进行个性化配置

场景配置,可以看到文件级的动态配置,提供了一种在特殊环境下简便的解决方案。


模块配置:

一、模块可以有自己的配置文件,独立配置文件和场景配置文件;

二、模块配置的优先级高于应用配置,相同配置项会覆盖掉应用中的配置项;

三、模块默认配置文件名是:config.php;

四、模块默认独立配置文件有两个:database.php,valida   te.php;

五、模块场景配置文件名,根据‘app_status’参数值确定。

降低应用复杂度,提高应用安全性,模块配置用的并不多,但如果有个性化需求时,使用模块设置会方便许多


其他位置的配置文件


使用php文件配置,需要在控制器方法内加载相应的文件即可。


猜你喜欢

转载自blog.csdn.net/ke_lin10/article/details/79757796