ThinkPHP6.0多应用下相互调用配置文件的方法

发布于 2022-06-29 12:49:33
都知道,tp6支持多应用模式,在每个应用目录下可以 单独 配置一个 config目录来存放自定义配置文件,比如在 admin 应用下 创建一个config目录,里面存放一个 data.php 文件,然后在访问 admin 应用下所有控制器和方法 都可以使用 config('data') 来获取里面的数据,非常方便。不过也会带来一个新的问题。

例如我在公用应用 common 下也有一个通用 配置 config/upload.php ,这里面是一些上传文件的配置参数,adminindex 等应用也会用到,如果你直接在 admin 应用下 使用 config('upload')的话是读取不到任何数据,因为它只回去 当前应用目录下去找 admin/config/upload.php ,而真正的配置文件在 common/config/upload.php,所以它会找不到数据。

解决方式一:

可以吧 common/config/upload.php 放到全局配置里,也就是 根目录下的 config 文件夹,然后所有应用下都能调用到了。

解决方式二:

如果你不想吧自定义配置文件和系统配置文件放一块,你可以在需要调用配置数据的地方,单独加载一次,加载方式如下代码:

# 在`admin`应加载`common`应用的配置文件
Config::load('../app/common/config/upload', 'upload'); 
# 测试打印数据
halt(Config::get('upload'));
0 条评论

发布
问题