ホームページ  >  記事  >  バックエンド開発  >  Yii2 が $this->context を使用して現在のモジュール、コントローラー (コントローラー)、アクションなどを取得する方法の詳細な説明。

Yii2 が $this->context を使用して現在のモジュール、コントローラー (コントローラー)、アクションなどを取得する方法の詳細な説明。

黄舟
黄舟オリジナル
2017-03-30 09:06:061540ブラウズ

Yii2 を使用する場合、一部のシナリオや環境では、Yii2 が現在存在する module(Model)、Controller(Controller)、Action(メソッド)、およびそこで呼び出される内容を取得する必要があります。コントローラー 定義されているいくつかのパブリックメソッドなど。 これらの問題に対して、Yii2 はビューレイヤーView の $this->context オブジェクト を使用してそれらを取得できます。以下は説明のためのサンプルコードです​​

Yii2 を使用する場合、特定のシナリオや環境では、Yii2 が現在配置されているモジュール (モデル)、コントローラー (コントローラー)、アクション (メソッド)、およびコントローラーを取得する必要があります。これらの問題に対して、Yii2 はビュー層 View の $this->context オブジェクトを使用してそれらを取得できます。

例: たとえば、現在のlogin.phpメソッド(ビューレイヤーログインインターフェース)は次のとおりです:

<?php
//得到Yii2的当前的控制器Controller
echo
$this->context->id;
//输出结果:site
//得到Yii2的当前的控制器Action
echo
$this->context->action->id;
//输出结果:login
//得到Yii2的当前的控制器Modules
echo
$this->context->module->id;
//输出结果:basic
 (默认简单的Basic)
//得到Yii2的当前的控制器里面的方法
echo
$this->context->actionHello();
//输出结果:Hello
 World!!!
//此处的actionHello()
 方法为定义在控制器里面的方法(也可以是继承来的)
//所在位置为SiteController里面,用于测试
public
function 
actionHello(){
  return
&#39;Hello World!!!&#39;;
}
?>

コントローラー内

$controllerID
= Yii::$app->controller->id;
$actionID
= Yii::$app->controller->action->id;

以上がYii2 が $this->context を使用して現在のモジュール、コントローラー (コントローラー)、アクションなどを取得する方法の詳細な説明。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。