【发布时间】:2011-12-09 23:35:47
【问题描述】:
我正在创建 MVC Web 应用程序。
在 MVC(模型-视图-控制器)的哪个部分,我应该保存我的错误消息,这些错误消息可能会出现在出现问题的地方,用户应该阅读它们?
目前情况:
型号:
function f()
{
$data[error] = "Error message"
return $data;
}
查看:
echo $error
【问题讨论】:
我正在创建 MVC Web 应用程序。
在 MVC(模型-视图-控制器)的哪个部分,我应该保存我的错误消息,这些错误消息可能会出现在出现问题的地方,用户应该阅读它们?
目前情况:
型号:
function f()
{
$data[error] = "Error message"
return $data;
}
查看:
echo $error
【问题讨论】:
我的意见是将它们放在模型的末尾。对我来说,控制器只是充当中间人,视图应该不用多想。。
我的代码中的VIEW 只是在获得需要在页面中显示的数据后准备前端输出。它不需要做任何思考,所有的验证都已经在模型中,所以它只需要专注于显示结果、表单、信息、帮助、提示等。
我的代码中的CONTROLLER 只是为用户(客户端的浏览器请求)、模型(完成所有思考)和视图(完成所有“显示”)进行通信。它不会知道来自用户的输入中有错误;它只是将输入传递给模型。模型完成后,控制器只是将输出传递给视图。
我的代码中的MODEL 负责做所有的思考。它接收来自用户的输入(通过控制器)并做它需要做的事情。对于它生成的任何或所有结果和/或错误,它只是将其传递给视图(同样,通过控制器)并期望视图知道该做什么:显示数据。
【讨论】:
您可以在控制器中抛出异常,然后在视图处理程序中捕获它们。
【讨论】:
通用模式是:
在模型中定义。
在控制器中生成。
显示在视图中。
您可以将错误消息存储在会话中或直接从控制器传递到视图。
【讨论】: