gpt4 book ai didi

model-view-controller - 在 Web MVC 框架中,谁负责显示 404 页面?

转载 作者:行者123 更新时间:2023-12-04 08:24:26 26 4
gpt4 key购买 nike

在 Web MVC 模型中,哪个类/对象具有调用 404 页面的责任/功能?它为什么有责任?我认为是路由器问题,但我问是为了以防万一。

$router->show_404("Unable to find controller.");

此外,404 页面应该是一个 View 还是只是一个模板?这里的标准做法是什么?

-- 更新,让事情更清晰 --

例如,如果我们同意 Router 类拥有调用 404 页面的功能/责任,那么我们是否应该将 Router 对象注入(inject)我们实例化的 Controller 每个 Controller 都可以使用 Router 对象来调用 404?或者我应该创建一个自定义类来显示“特殊页面”,如 Error/404s?

感谢您的回答。

最佳答案

视情况而定。

如果是由于路由无效,则可以由路由器本身处理,或者您可以使用指向 404 处理程序的默认路由。

如果是由于有效路由接收到无效数据(/user/JohnDoe,但 John Doe 不为系统所知),则 404 必须由处理程序启动那条路线。

一旦 404 被触发,我倾向于选择轻便、快速的页面报告它,但是有很多网站会,例如,进行近似匹配搜索并返回一个列表“你是说其中一个吗这些东西?”我不确定在这两种情况下我将哪种方式称为“标准做法”,除非你谈论的是 REST API,它通常会发送最小响应,因为它们旨在提高机器可读性,所以没有太多提出一个只有人类才能回答的问题是有意义的。

关于model-view-controller - 在 Web MVC 框架中,谁负责显示 404 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5610183/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com