Yii2 从模型访问模块实例

Yii2 access to module instance from model

我想知道是否有办法从模型访问模块实例。在我的模块配置中,我有一些组件需要在模型 class 中调用,该模型仅在我的模块内定义。我知道方法 Yii::$app->getModule('my-module') 但这意味着每次都必须使用相同的名称定义模块,从控制器的模块我可以访问为 $this->module->component-name,模型中有类似的东西吗?

您可以使用 ModelClassName::getInstance(),但目前它仅在模块已经初始化时才有效。这应该在 2.0.15 左右更改。

是的,您可以像这样访问模块实例:

$module = MyModuleClass::getInstance();

然后你可以通过

获取id
$module->id

更多信息请查看here