ThinkPHP 5.0.1+原生支持application/extra目录自动加载扩展配置,文件名即分组名,可通过config('group.key')访问;支持模块级配置(如application/admin/extra/)和自定义CONF_PATH。

ThinkPHP 5.0 从 v5.0.1 开始原生支持扩展配置目录(extra),无需额外配置即可自动加载,是组织非核心、可插拔配置(如第三方 SDK、站点信息、支付参数等)最简洁的方式。
在 application/extra 目录下创建 PHP 配置文件
这是最常用、最推荐的做法。确保你的应用目录结构中存在 application/extra/ 子目录,然后在里面新建任意命名的 PHP 文件(如 wechat.php、alipay.php、site.php):
- 文件必须返回一个关联数组,例如:
return ['APP_ID' => 'wxd123456789', 'APP_SECRET' => 'a1b2c3...']; - 文件名(不含
.php)即为配置分组名,比如wechat.php对应配置键wechat - 该文件会自动合并进全局配置,无需手动
Config::load()或修改任何入口逻辑
读取扩展配置的方法
扩展配置与主配置一样,可通过统一接口访问:
- 在控制器或模型中:
Config::get('wechat.APP_ID');或简写为config('wechat.APP_ID'); - 在模板中:
{$Think.config.wechat.APP_ID} - 获取整个分组:
config('wechat')→ 返回完整数组
支持模块级扩展配置
如果项目启用了多模块(如 admin、api),你还可以为特定模块设置独立的扩展配置:
- 路径示例:
application/admin/extra/sms.php - 该配置仅对
admin模块生效,优先级高于应用级application/extra/sms.php - 读取方式相同:
config('sms'),框架会根据当前模块自动选择对应配置
自定义配置目录位置(可选)
若不希望把扩展配置放在 application 下,可在入口文件(如 public/index.php)中重新定义配置根目录:
- 添加常量:
define('CONF_PATH', __DIR__.'/../config/'); - 此时扩展配置路径变为:
config/extra/或config/admin/extra/ - 注意:
CONF_PATH定义后,所有配置(含config.php、database.php、extra)均以此为基准
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











