我在写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
功能。
是否有方法在每个操作中截取呈现部分,并编写此代码以在全局范围内为每个操作工作,而不是在任何地方复制和粘贴它?