【问题标题】:How to display error message to user in PHP MVC with Slim Router?如何使用 Slim Router 在 PHP MVC 中向用户显示错误消息?
【发布时间】:2019-05-21 10:24:37
【问题描述】:

我正在使用带有 MVC 模式的 PHP 和 Slim 3 微框架进行路由。

我需要在树枝视图中向用户显示错误消息。此错误与他们提交的用户名或密码无效有关。

流程是这样的:

  1. Slim 路由器在“/login”路由上接受来自客户端的 GET 请求,并将其发送到显示登录表单的适当控制器函数。
  2. Slim 路由器在“/login”路由上接受来自客户端的 POST 请求,并将其发送到适当的控制器函数,以验证用户输入并可能进行身份验证。

此时我需要向用户反馈他们的输入无效。我可以想到几个选项,但我不确定它们中的任何一个是“最佳”还是最佳实践。

  1. 将错误消息添加到 $_SESSION 并重定向到“/login”路由,然后除了登录表单之外,该路由还将显示存储在会话中的所有错误消息。
  2. 将错误消息添加到 Slim 响应 (\Psr\Http\Message\ResponseInterface) 并重定向到 "/login" 路由,然后该路由将显示存储在请求(或 args)中的所有错误消息,除了登录表单。
  3. 直接执行 displayLoginForm($request, $response) 控制器函数而不做任何重定向,因为该函数已经在同一个控制器中。错误消息将放在 $request 参数中。

处理这种情况的最佳实践方法是什么?

【问题讨论】:

    标签: php model-view-controller error-handling slim


    【解决方案1】:

    更好的解决方案是使用“Flash 消息”

    此处的文档:https://www.slimframework.com/docs/v3/features/flash.html

    【讨论】:

      猜你喜欢
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-25
      • 2020-03-18
      • 2019-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多