Model view controller Yii 2从视图访问控制器的快速方法
因此,在Yii 1中,您可以在视图文件中使用Model view controller Yii 2从视图访问控制器的快速方法,model-view-controller,yii2,Model View Controller,Yii2,因此,在Yii 1中,您可以在视图文件中使用$this->action()或$this->property访问控制器的属性/操作 在yii2中,我能看到这一点的唯一方法是使用Yii::$app->controller->property或Yii::$app->controller->action()。我是一个不想写太多代码的人,所以我想知道是否有一个更短的方法来完成它。\Yii::$app->controller,这确实是唯一“真正”的方法 有一种写得少一点的方法,不知是否值得努力: publi
$this->action()
或$this->property
访问控制器的属性/操作
在yii2中,我能看到这一点的唯一方法是使用
Yii::$app->controller->property
或Yii::$app->controller->action()。我是一个不想写太多代码的人,所以我想知道是否有一个更短的方法来完成它。\Yii::$app->controller
,这确实是唯一“真正”的方法
有一种写得少一点的方法,不知是否值得努力:
public function actionWhatever()
{
return $this->render('view', ['controller' => $this]);
}
然后在视图中有一个$controller
-变量。视图控制器基本上是调用此视图的呈现的“上下文”
有一个特殊的属性可以从视图中获取当前相关的控制器,它的调用方式与此完全相同:context
示例:$this->context
官方文件:
这项功能非常有效,看起来比Yii::$app->controller更直观代码>如果您正在开发小部件,并且希望从小部件视图文件调用主小部件组件,那么这也很好。