

控制器是 MVC 模式中的一部分, 是继承yii\base\Controller类的对象,负责处理请求和生成响应。
具体来说,控制器从应用主体 接管控制后会分析请求数据并传送到模型, 传送模型结果到视图,最后生成输出响应信息。
动作 (推荐学习:yii框架)
控制器由 操作 组成,它是执行终端用户请求的最基础的单元, 一个控制器可有一个或多个操作。
如下示例显示包含两个动作view and create 的控制器post:
namespace app\controllers;
use Yii;
use app\models\Post;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
class PostController extends Controller
{
 public function actionView($id)
 {
 $model = Post::findOne($id);
 if ($model === null) {
 throw new NotFoundHttpException;
 }
 return $this->render('view', [
 'model' => $model,
 ]);
 }
 public function actionCreate()
 {
 $model = new Post;
 if ($model->load(Yii::$app->request->post()) && $model->save()) {
 return $this->redirect(['view', 'id' => $model->id]);
 } else {
 return $this->render('create', [
 'model' => $model,
 ]);
 }
 }
}在操作 view (定义为 actionView() 方法)中, 代码首先根据请求模型ID加载 模型, 如果加载成功,会渲染名称为view的视图并显示,否则会抛出一个异常。
在操作 create (定义为 actionCreate() 方法)中, 代码相似. 先将请求数据填入模型, 然后保存模型,如果两者都成功,会跳转到ID为新创建的模型的view操作, 否则显示提供用户输入的create视图。
