Yii - 控制器
-
简述
控制器负责处理请求并生成响应。用户请求后,控制器将分析请求数据,将它们传递给模型,然后将模型结果插入视图,并生成响应。 -
了解操作
控制器包括操作。它们是用户可以请求执行的基本单元。一个控制器可以有一个或多个动作。让我们看一下基本应用程序模板的SiteController -使用 PHP 内置服务器运行基本应用程序模板,并在http://localhost:8080/index.php?r=site/contact访问 Web 浏览器。您将看到以下页面 -当您打开此页面时,会执行SiteController的联系操作。代码首先加载ContactForm模型。然后它渲染联系人视图并将模型传递给它。如果您填写表格并单击提交按钮,您将看到以下内容 -请注意,这次执行以下代码 -如果有 POST 请求,我们将 POST 数据分配给模型并尝试发送电子邮件。如果我们成功了,我们会设置一条带有文本“感谢您与我们联系”的 Flash 消息。我们会尽快回复您。” 并刷新页面。 -
了解路由
在上面的示例中,在 URL http://localhost:8080/index.php?r=site/contact 中,路由是site/contact。SiteController中的联系动作 ( actionContact )将被执行。一条路由由以下部分组成 --
moduleID - 如果控制器属于一个模块,那么这部分路由存在。
-
controllerID(上例中的站点)- 在同一模块或应用程序中的所有控制器中标识控制器的唯一字符串。
-
actionID(上例中的联系人) - 一个唯一字符串,用于标识同一控制器内所有操作中的操作。
路由的格式是controllerID/actionID。如果控制器属于一个模块,那么它的格式如下:moduleID/controllerID/actionID。 -