/ yii2

yii2-controller

控制器中注意处理:

  • 权限校验
  • 数据库缓存

action 参数

public function actionNotify($id)
{
}

需要注意的是,这里的 $id 只能是 GET 方法传递过来的值。POST 的值需要显式地通过 Yii::$app->request->post('id') 获取,这一点在 Ajax 时要注意,否则会报 400 缺失参数

另外,POST 默认会检查 CSRF TOKEN。

action 结果

action的返回值是什? string 还 response

操作方法必须是以action开头的公有方法。 操作方法的返回值会作为响应数据发送给终端用户

action方法独立action的run()方法返回值非常重要, 它表示对应操作结果。

返回值可为响应对象,作为响应发送给终端用户。

  • 对于web应用,返回值可为任意数据, 它赋值给yii\web\Response::$data最终转换为字符串来展示响应内容。
  • 对于console应用,返回值可为整数,表示命令行下执行的yii\console\Response::exitStatus退出状态。

在上面的例子中,操作结果都为字符串,作为响应数据发送给终端用户, 下例显示一个操作通过返回响应对象(因为redirect()方法返回一个响应对象) 可将用户浏览器跳转到新的URL。

Yii::$app->response->format = yii\web\Response::FORMAT_JSON;
return ['message' => '暂无服务'];