【发布时间】:2018-05-30 10:03:55
【问题描述】:
我正在编写 Yii2 基本应用程序。有时我必须在将控制器的操作作为部分访问时渲染视图,有时我必须使用布局来渲染它们。这是基于请求中的 GET 参数,因此我在操作中的代码如下所示:
public function actionIndex() {
$isApi = Yii::$app->request->get('api');
$dataProvider = new ActiveDataProvider([
'query' => Participant::find(),
]);
if ($isApi) {
return json_encode($this->renderPartial('index', [
'dataProvider' => $dataProvider,
]));
} else {
return $this->render('index', [
'dataProvider' => $dataProvider,
]);
}
}
我对每个控制器中的每个操作都有完全相同的逻辑。我必须首先检查GET 对api 变量的请求,然后根据该请求调用render 或renderPartial 函数。
有没有办法截取每个动作中的渲染部分并编写此代码以在全局范围内为每个动作工作,而不是到处复制粘贴?
【问题讨论】: