[英]How to get current module object from model in Yii2
我有模塊ticket
。
模塊類具有適當的UserClassName
(字符串)。
在這個模塊中,我有一個名為Dialog
模型。
在這個模型中,我想訪問模塊屬性UserClassName
。
我如何從模型Dialog
獲取模塊對象?
PS從控制器我可以做下一個: $this->module
。
您可以使用className()
來獲取類名。
$yourModule = yourPath\YourModule::className();
或者,要獲取模塊ID,您可以使用:
Yii::$app->controller->module->id;
我們可以在yii2中識別模塊,控制器和動作方法如下
Yii::$app->controller->module->id;
(用於獲取模塊ID)
Yii::$app->controller->id;
(用於獲取控制器ID)
Yii::$app->controller->action->id;
(對於獲取控制器操作ID)
我找到了一個解決方案(我也需要同樣的解決方案)。 獲取模塊對象 - 非常簡單:
\Yii::$app->getModule('moduleName')->propertyOrMethod;
$module = MyModuleClass::getInstance();
getInstance()方法將返回當前請求的模塊類實例。 如果未請求模塊,則該方法將返回null。 請注意,您不希望手動創建模塊類的新實例,因為它將與Yii在響應請求時創建的實例不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.