【发布时间】:2019-05-21 10:24:37
【问题描述】:
我正在使用带有 MVC 模式的 PHP 和 Slim 3 微框架进行路由。
我需要在树枝视图中向用户显示错误消息。此错误与他们提交的用户名或密码无效有关。
流程是这样的:
- Slim 路由器在“/login”路由上接受来自客户端的 GET 请求,并将其发送到显示登录表单的适当控制器函数。
- Slim 路由器在“/login”路由上接受来自客户端的 POST 请求,并将其发送到适当的控制器函数,以验证用户输入并可能进行身份验证。
此时我需要向用户反馈他们的输入无效。我可以想到几个选项,但我不确定它们中的任何一个是“最佳”还是最佳实践。
- 将错误消息添加到 $_SESSION 并重定向到“/login”路由,然后除了登录表单之外,该路由还将显示存储在会话中的所有错误消息。
- 将错误消息添加到 Slim 响应 (\Psr\Http\Message\ResponseInterface) 并重定向到 "/login" 路由,然后该路由将显示存储在请求(或 args)中的所有错误消息,除了登录表单。
- 直接执行 displayLoginForm($request, $response) 控制器函数而不做任何重定向,因为该函数已经在同一个控制器中。错误消息将放在 $request 参数中。
处理这种情况的最佳实践方法是什么?
【问题讨论】:
标签: php model-view-controller error-handling slim