yii控制器怎么定义

发布时间 - 2019-12-04 00:00:00    点击率:

控制器是 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,
            ]);
        }
    }
}

创建控制器

在Web applications网页应用中,控制器应继承yii\web\Controller 或它的子类。 同理在console applications控制台应用中,控制器继承yii\console\Controller 或它的子类。 

如下代码定义一个 site 控制器:

namespace app\controllers;
use yii\web\Controller;
class SiteController extends Controller
{
}


# yii  # 子类  # 多个  # 它是  # 后会  # 可有  # models 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 动图在线制作网站有哪些,滑动动图图集怎么做?  EditPlus 正则表达式 实战(3)  iOS发送验证码倒计时应用  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  如何在局域网内绑定自建网站域名?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  Laravel如何使用模型观察者?(Observer代码示例)  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  如何正确选择百度移动适配建站域名?  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  简历在线制作网站免费版,如何创建个人简历?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  Laravel怎么为数据库表字段添加索引以优化查询  韩国服务器如何优化跨境访问实现高效连接?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  jQuery validate插件功能与用法详解  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  浅谈redis在项目中的应用  高性价比服务器租赁——企业级配置与24小时运维服务  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  如何挑选最适合建站的高性能VPS主机?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  香港服务器租用每月最低只需15元?  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  Python文本处理实践_日志清洗解析【指导】  如何自定义建站之星网站的导航菜单样式?  Android中AutoCompleteTextView自动提示  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  网站制作壁纸教程视频,电脑壁纸网站?  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  制作公司内部网站有哪些,内网如何建网站?  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  Laravel定时任务怎么设置_Laravel Crontab调度器配置  如何在自有机房高效搭建专业网站?  轻松掌握MySQL函数中的last_insert_id()  详解CentOS6.5 安装 MySQL5.1.71的方法  Bootstrap CSS布局之列表  如何为不同团队 ID 动态生成多个“认领值班”按钮  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  如何快速生成凡客建站的专业级图册?