config()函数用于读取和动态设置ThinkPHP配置,支持单值、多级键(如database.hostname)、整文件获取及运行时修改,但不解析.env文件。

在 ThinkPHP 中,config() 函数是读取配置项最常用的方式,它既可以获取单个配置值,也可以获取整个配置数组,支持多级嵌套(如 database.hostname)。
基本用法:读取单个配置项
直接传入配置键名字符串即可获取对应值:
-
config('app_debug')→ 获取app.php中的debug配置 -
config('database.hostname')→ 获取database.php中的hostname(支持点号分隔的多级键)
读取完整配置文件内容
只传一个参数且为配置文件名(不带扩展),可返回该文件全部配置:
-
config('database')→ 返回database.php中定义的整个数组 -
config('app')→ 返回app.php的全部配置
注意:此方式不会自动合并环境配置(如 .env),仅读取 PHP 配置文件内容。
立即学习“PHP免费学习笔记(深入)”;
动态设置与临时修改配置
config() 也支持写操作(运行时修改,仅当前请求有效):
-
config('app.name', 'MyApp');→ 设置单个值 -
config(['app.name' => 'MyApp', 'app.debug' => true]);→ 批量设置
这种修改不会影响原始配置文件,适合根据条件动态调整行为(如切换日志级别)。
注意事项和常见问题
配置键名区分大小写,且必须存在,否则返回 null;建议使用前判断:
- 检查是否存在:
config('cache.type') !== null - 避免未定义键导致逻辑错误,可配合默认值:
config('cache.type', 'file') -
.env中的变量需通过Env::get()读取,config()不直接解析.env
不复杂但容易忽略。



















