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 的价值很重要,因为如果它从一开始就很干净,你就不会遇到这些问题理解逻辑。
我是 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 的价值很重要,因为如果它从一开始就很干净,你就不会遇到这些问题理解逻辑。