1. 惯例配置,系统配置,可以复制出来,不建议修改.
/thinkphp/convention.php
2. 应用配置, 我们把 application 下面的配置清空, 在同目录新建 config, 再新建 config.php 文件(不能修改)
/config/config.php
3. 扩展配置
在 config 文件夹下新建 extra 目录. 再新建一个 demo.php
return [
'demokey' => 'demovalue',
];
这时候, 在 dump(confilg()) 后
["demo"] => array(1) {
["demokey"] => string(9) "demovalue"
}
4.场景配置, 可以设置例如 公司的配置文件, 家里工作配置文件等. 可以区分.
在应用配置文件中 config/config.php中,定义
''app_status" => 'home',
此时, 在 config文件夹下, 新建一个 home.php , 也是返回数组. 这里注意, 如果修改数据库的信息, 需要填入数据库所有的配置项.
5.模块配置
之前的配置中, 是配置完毕, 所有模块都有效. 模块配置可以针对模块来进行配置.
例如现在有一个模块 index ,则我们在 config 文件夹下, 新建一个index目录, 和模块名保持一致, 然后新建一个 config.php, 在里面返回的数组, 只是针对 index 这个模块有效.
6. 动态配置
针对当前的某个控制器去或方法, 动态的改变配置.
class Index
{
public function __construct()
{
config('before', 'beforeAction');
}
public function index()
{
dump(config());
}
}
如果想只在控制器中生效, 则在构造函数中, 用 config方法添加. 则只在此控制器下生效.
7. 环境变量的配置和使用
tp5在运行的时候, 会读取环境变量, 在根目录下 新建 .env 文件, 在其中加入配置
status=prod
[database]
username = root_env
password = root
读取的时候, 如下. 这是在 应用配置中, 读取的
Env::get('status', 'dev'),
];
再在config文件夹下, 新建 dev.php ,则会读取 dev.php 中的配置. 通过修改 .env 文件, 来实现切换配置.