【发布时间】:2015-03-12 02:19:58
【问题描述】:
我目前正在整理一个小的 mvc 框架来练习,我有一点 laravel 经验,所以它是基于它松散的。我制作了一个路由器,它只为您设置的 url 返回一个指定的视图。
现在我还制作了拆分 url 的控制器,并使用基本 url 之后的第一部分作为控制器,第二部分作为操作。这会加载与控制器对应的文件以及该文件中与操作对应的方法。
因此,如果 url 类似于:url.com/users/index,它将加载一个 UsersController.php 文件并在该文件中查找 index() 方法。
现在我想知道控制器和路由器之间的确切区别是什么?它像一个指定的?其中路由器稍微简单一点,只对给定的精确 url 做出反应,然后路由器将其切碎并具有更多深度?
我目前所拥有的似乎有很多重叠。
【问题讨论】:
-
Router - 定义了如何解析请求数据。控制器 - 接受解析的请求并生成响应。
-
正是 zerk 上面所说的。路由器本质上将“运行”与 url -
site.com/CONTROLLER/METHOD关联的控制器方法。路由器的工作就是将请求路由到请求的控制器/方法,而控制器将“控制”并进行处理/生成响应。 -
那么路由器是否也负责分割 url 并将控制器分配给 $controller 变量并将方法分配给 $action 变量?
-
我投票结束这个问题,因为它是关于两个完全不同的术语之间的差异。
-
这不是题外话,问题是询问两个密切相关的功能。
标签: php url model-view-controller controller url-routing