php - 如何使用Slim Router在PHP MVC中向用户显示错误消息?

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

我正在将PHP与MVC模式和Slim 3微框架一起用于路由。

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

流程是这样的:

Soji路由器

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

  • 此时,我需要向用户提供他们的输入无效的反馈。我可以想到一些选择,但是我不确定其中任何一个是“最佳”的还是最佳实践。
  • 将错误消息添加到$ _SESSION并重定向到“/login”路由,然后该路由将显示除登录表单之外存储在 session 中的所有错误消息。
  • 将错误消息添加到Slim响应(\ Psr \ Http \ Message \ ResponseInterface)中,然后重定向到“/login”路由,该路由将显示除登录外存储在请求(或args)中的所有错误消息形成。
  • 直接执行displayLoginForm($ request,$ response) Controller 功能,而无需执行任何重定向,因为该功能已经在同一 Controller 中。错误消息将放在$ request参数中。

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

    最佳答案

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

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

    关于php - 如何使用Slim Router在PHP MVC中向用户显示错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53876445/

    相关文章:

    php - 使用服务器将有效负载发送到 APN

    php - 如何使用 PHP 使用两个键查找单个值?

    asp.net-mvc - knockout 和 .NET View 模型之间的区别?

    php - 自动包含缺少的功能?

    PHP:如何搜索和计算字符串中的指定文本?

    php - 特定文件类型的 Vim inoremap

    asp.net - 使用浏览器链接在 Visual Studio 2015 社区中进行调试时,主页/索引页面自行向下滚动

    wcf - IIS7 Post/Put/Patch/Delete WCF oData - 身份验证失败 401.3

    swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

    c - 如何正确使用套接字的 write() 函数?