Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MVC-错误消息_Php_Model View Controller - Fatal编程技术网

Php MVC-错误消息

Php MVC-错误消息,php,model-view-controller,Php,Model View Controller,我正在创建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 

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

一般模式是:

模型中定义

控制器中生成

在视图中显示


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

我的意见是将它们放在模型的末尾。对我来说,控制者只是一个中间人,视图不需要做太多思考

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

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


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

例如,我有注册控制器,以及如何向用户显示错误消息,例如(“昵称已注册”)等等。现在信息都写在模型中了,但我认为它不正确。不。在模型中生成。控制控制器中的生成。@NoICE Fair,但这并没有真正增加任何内容。再次查看我的答案,我会将其更新为添加“在模型中定义”。。。我刚刚做到了:)