【问题标题】:MVC - error messagesMVC - 错误消息
【发布时间】:2011-12-09 23:35:47
【问题描述】:

我正在创建 MVC Web 应用程序。

在 MVC(模型-视图-控制器)的哪个部分,我应该保存我的错误消息,这些错误消息可能会出现在出现问题的地方,用户应该阅读它们?

目前情况:

型号:

function f()
{
    $data[error] = "Error message"
    return $data;
}

查看:

echo $error 

【问题讨论】:

    标签: php model-view-controller


    【解决方案1】:

    我的意见是将它们放在模型的末尾。对我来说,控制器只是充当中间人,视图应该不用多想。。

    我的代码中的VIEW 只是在获得需要在页面中显示的数据后准备前端输出。它不需要做任何思考,所有的验证都已经在模型中,所以它只需要专注于显示结果、表单、信息、帮助、提示等。

    我的代码中的CONTROLLER 只是为用户(客户端的浏览器请求)、模型(完成所有思考)和视图(完成所有“显示”)进行通信。它不会知道来自用户的输入中有错误;它只是将输入传递给模型。模型完成后,控制器只是将输出传递给视图。

    我的代码中的MODEL 负责做所有的思考。它接收来自用户的输入(通过控制器)并做它需要做的事情。对于它生成的任何或所有结果和/或错误,它只是将其传递给视图(同样,通过控制器)并期望视图知道该做什么:显示数据。

    【讨论】:

      【解决方案2】:

      您可以在控制器中抛出异常,然后在视图处理程序中捕获它们。

      【讨论】:

      • 例如我有 Registration 控制器,以及如何向我的用户显示错误消息,例如('昵称已注册')等。现在消息写在模型,但我认为它不正确
      【解决方案3】:

      通用模式是:

      模型

      定义

      控制器中生成

      显示视图中。

      您可以将错误消息存储在会话中或直接从控制器传递到视图。

      【讨论】:

      • 没有。在模型中生成。在 Controller 中控制生成。
      • @NoICE Fair,但这并没有真正增加任何东西。再次查看我的答案,我会更新它以添加“在模型中定义”。 ...我刚刚做了:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      • 2016-03-27
      • 2014-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多