php mvc url 接受三个参数的模式

php mvc url pattern which takes three arguments

我是 MVC 新手。我从几篇文章和一些视频中了解到,MVC 结构中 URL 的一般形式为 controller/action。但我遇到过一些这样的 URL:

www.exmaple.com/users/login/confirm

需要三个参数(用户、登录、确认)。不明白哪个是controller,哪个是action,第三个参数是什么

在同一个网站上,还有这样的 URL:

www.exmaple.com/users/login-register

那么,它如何知道何时将第二个参数视为动作以及何时作为控制器?

将您的 URL 映射为 controller/action 并不是 所有人的一条规则 。这只是大多数人使用的常见做法。

比如你在问题中提到的users/login/confirm,字面上是用来确认与login有关的事件。为什么不是users/confirm?好吧,原因可能是路由 users\confirm 用于其他操作,例如注册确认或管理员确认用户添加等。因此在应用程序中有多个 confirmation 逻辑所以程序员只是用另一个参数将它们分开(在这里登录)。

了解幕后发生的事情的最好方法就是阅读代码或该代码的文档。

注意:在这里理解 clean URL 的价值很重要,因为如果它从一开始就很干净,你就不会遇到这些问题理解逻辑。