0%

MVC之控制器

MVC中的控制器(Controller)主要负责响应用户的输入,并且在响应的时候修改模型,返回用户需要的内容。也就是说它主要关注的是应用程序输入数据的处理,以及通过model实现对输出的相关视图进行修改。

以前的网站最开始是直接访问地址所对应的静态页面,后来变成动态网站了,这种一个地址对应一个网页的思路基本上没怎么变,当然后来有了路由的机制,访问路径跟实体文件这种一一对应的关系就弱化了。而MVC实际上就是通过路由机制,把网页的访问路径跟某个实体文件的关系完全消解了,也就是说MVC实际上并不是访问某一个网页,而是一整套MVC处理过程生成出来的html代码,在这一套处理过程中控制器是具体的实施者。

在MVC中,一次访问大概经历了如下过程:首先路由机制通过url解析出本次访问需要使用哪个控制器,调用控制器中的哪个方法以及该方法所需要的参数;接着控制器决定使用哪个视图,并通过数据模型对视图进行渲染,最后把结果返回给访问者。由此可见,在这个过程中控制器控制着网页结果生成的整个过程,控制器的设置非常关键。