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 'Hello World!!!'; } ?>
컨트롤러에서
$controllerID = Yii::$app->controller->id; $actionID = Yii::$app->controller->action->id;
위 내용은 Yii2가 $this->context를 사용하여 현재 모듈, 컨트롤러(컨트롤러), 액션 등을 얻는 방법에 대한 자세한 설명입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!