モジュールticket
があります。
モジュールクラスにはプロパティUserClassName
(文字列)があります。
このモジュールには、Dialog
というモデルがあります。
このモデル内で、モジュールプロパティUserClassName
にアクセスしたいと思います。
モデルDialog
からモジュールオブジェクトを取得するにはどうすればよいですか?
追伸コントローラーから次にできること:$this->module
。
className()
を使用してクラス名を取得できます。
$yourModule = yourPath\YourModule::className();
または、使用できるモジュールIDを取得するには:
Yii::$app->controller->module->id;
私は解決策を見つけました(私にも同じものが必要です)。モジュールオブジェクトを取得するには-非常に簡単です:
\Yii::$app->getModule('moduleName')->propertyOrMethod;
$module = MyModuleClass::getInstance();
GetInstance()メソッドは、現在要求されているモジュールクラスのインスタンスを返します。モジュールが要求されていない場合、メソッドはnullを返します。リクエストに応じてYiiによって作成されたものとは異なるため、モジュールクラスの新しいインスタンスを手動で作成したくないことに注意してください。
yii2では、次のようにモジュール、コントローラー、アクションメソッドを識別できます。Yii::$app->controller->module->id;
(モジュールID取得用)Yii::$app->controller->id;
(コントローラIDを取得する場合)Yii::$app->controller->action->id;
(コントローラーアクションIDを取得する場合)