![]() |
1
2
控制器是您的逻辑,模型是您的数据,视图是您的输出。 所以,这是控制器:
模型是userdb类,它将提供我的数据。视图是我将数据从模型提供给的用户页面,然后它将输出该页面。 正如您所看到的,在这个示例中,控制器并没有做太多的工作,因为您只是获取和显示用户数据。这就是MVC的魅力所在。控制器不需要处理用户的SQL或HTML内容,它只需要获取数据并将其传递给视图。 此外,视图对模型一无所知,模型对视图一无所知。因此,您可以有机会实现其中一个,而不会影响另一个。 与您的示例相关的更多信息,您的视图是正确的,但是您混合了控制器和模型。 你可以通过以下方式来减轻这种压力: 控制器:
模型:
保持同样的输出 |
![]() |
2
1
控制器接收用户请求-通常有一种路由器接受一个URL并将请求路由到适当的控制器方法。 控制器使用模型向数据库(或其他数据源)查询数据。 从控制器调用视图以呈现实际的HTML输出。 |
![]() |
3
1
如果您只想创建一个简单的模板系统,那么您也可以使用:
使用如下模板文件:
|
![]() |
4
1
在您的示例中,更像是将控制器拆分为模型和视图。
当你第一次遇到的时候会很困惑 MVC Web应用程序的体系结构,主要是因为大多数Web框架根本不是MVC,而是与 PAC . 换言之,模型和视图不会说话,而是由控制器从给定请求中理解的上下文拉到一起的两个元素。查看Larry Garfield关于该主题的精彩评论,了解更多信息: http://www.garfieldtech.com/blog/mvc-vs-pac 另外,如果您对MVC开发模式感兴趣,我建议您下载许多框架中的一个,并运行一两个教程。Kohana、Codeignor、Cakephp和Zend应该足以启动Google-A-Thon! |
![]() |
5
0
Zend Framework: Surviving The Deep End 有一些很好的章节解释MVC。查看 MCV Intro 尤其是这个秘密 the model .
回答“控制器在哪里”:
我想你会把它(以及他对其他文章和书籍的引用)读得很好的。 |
![]() |
6
0
下面是一个使用PHP的非常简单的MVC示例。有一件事不见了,那就是路由器。它选择一个控制器来执行该任务。我们只有一个控制器,客户。 如果我们把它与三层比较 型号:数据库 视图:客户端 服务器:控制器 路由器:选择控制器 当您从Web浏览器上的应用程序中选择某些内容时,请求将转到路由器,从路由器将转到控制器。控制器从模型中询问并生成视图。视图将呈现给您。 只有模型能和控制器来回对话。
|
![]() |
KollegeBo · 触发更新的POST或GET 3 年前 |
![]() |
mariolototo · 无法获取“/”express以外的路线 3 年前 |
![]() |
nnmmss · 根据查询字符串值激活li 3 年前 |
![]() |
Ezaldeen Ezaldeen · pdo包装器最后一个id返回0 3 年前 |
![]() |
Bruno Vavretchek · JSON模型建议 7 年前 |
![]() |
Pasha · 如何在@RequestBody中传递2个对象? 7 年前 |