跨模块调用配置

2022-10-26 11:20:22
admin
1120
最后编辑:admin 于 2022-10-26 11:51:14

zentaoPHP 框架中,每个模块都有自己的配置文件,是全局主配置对象 $config 的成员属性,用于设置针对当前模块的相关配置。例如 Bug 模块的配置文件中创建了 $config->bug 对象。

模块配置文件存放路径: module/模块名/config.php

当我们要在模块 A 中需要调用模块 B 的配置时,可以使用应用的 loadModuleConfig 方法在 A 中加载 B 的配置,返回全局 $config 对象。

loadModuleConfig($moduleName, $appName = '')

参数:

  • $moduleName:目标模块名

  • $appName:目标应用名,默认为空

注:如果模块名是 common,则加载 $configRoot 的配置文件,其他模块则加载其模块的配置文件。

示例:

// 在 index 模块调用 blog 模块的配置
$this->app->loadModuleConfig('blog');
if(!empty($config->blog->blogName)) js::set('blogName','$config->blog->blogName');

在禅道项目中,为了使用简便,禅道为该方法设置了一个别名 loadConfig:

示例:

// 在 index 模块调用 sso 模块的配置
$this->app->loadConfig('sso');
if(!empty($config->sso->redirect)) js::set('ssoRedirect', $config->sso->redirect);