>  기사  >  백엔드 개발  >  Yii2가 $this->context를 사용하여 현재 모듈, 컨트롤러(컨트롤러), 액션 등을 얻는 방법에 대한 자세한 설명입니다.

Yii2가 $this->context를 사용하여 현재 모듈, 컨트롤러(컨트롤러), 액션 등을 얻는 방법에 대한 자세한 설명입니다.

黄舟
黄舟원래의
2017-03-30 09:06:061540검색

Yii2를 사용하는 경우 특정 시나리오 및 환경에서는 현재 Yii2가 위치한 모듈(모델)과 컨트롤러(Controller)를 구해야 합니다. , Action(메서드)이며 컨트롤러에 정의된 일부 공개 메소드를 호출합니다. 이러한 문제에 대해 Yii2는 뷰 레이어뷰에서 $this-> .컨텍스트 객체 를 가져옵니다. 다음은 설명하기 위한 샘플 코드입니다

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.