【问题标题】:Yii2 access to module instance from modelYii2 从模型中访问模块实例
【发布时间】:2017-07-25 18:26:49
【问题描述】:

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

【问题讨论】:

    标签: php yii2 yii2-advanced-app yii2-model yii2-module


    【解决方案1】:

    您可以使用ModelClassName::getInstance(),但现在它仅在模块已经初始化时才有效。这应该围绕2.0.15 进行更改。

    【讨论】:

    • 感谢您的快速答复,对争议深表歉意!
    【解决方案2】:

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

    $module = MyModuleClass::getInstance();
    

    然后你可以通过

    $module->id
    

    更多信息请查看here

    【讨论】:

    • 你检查了吗? @MarBer
    • 是的,感谢您的快速答复和编辑(今天是星期一!)
    • 很高兴帮助你@MarBer
    • @MarBer Bizley 提供了正确的答案,lalith 提供了错误的答案,只是从 Bizley 复制了正确的一个并编辑了他的,这不太好......
    • @lalithkumar - 我看到了编辑历史和添加答案的时间。请不要说谎。
    猜你喜欢
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-15
    • 1970-01-01
    相关资源
    最近更新 更多