时间:2021-07-01 10:21:17 帮助过:55人阅读
控制器是 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视图。
以上就是yii框架控制器有什么用的详细内容,更多请关注Gxlcms其它相关文章!