簡體   English   中英

如何從Yii2中的模型中獲取當前模塊對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM