传递参数而不带方法 PHP MVC


Pass argument without method PHP MVC

我有一个关于PHP中的MVC设计模式的问题。

如果你访问Stack Overflow上的问题,URL变成"stackoverflow.com/questions/[id]",如果你去"提问",URL变成"stackoverflow.com/questions/ask"。

我想这通常意味着加载了一个名为"questions"的控制器,而"ask"是该控制器中的一种方法,它告诉视图显示表单以便用户提出问题。但是当你访问一个问题时,没有方法,对吧?取而代之的是问题的 ID。这是怎么回事?页面是否首先检查它是否是一个数字,如果是数字,它会加载问题控制器的索引方法并将 ID 作为参数传递?如果它不是一个数字,它把它当作一种方法?

感谢您的帮助!

当您访问问题时,您可以将操作作为"查看",但通常首选使用"索引"操作。任何没有指定操作的"问题"控制器请求都可以路由到那里。

他们只是解析questions_controller中的 URL,使用条件语句将它们路由到他们的视图,例如,

如果是"问",它调用询问的UI。

当它是一个id时,它只是加载问题的UI及其答案。