PHP 模型/控制器方法


PHP model/controller approach

我正在寻求一些关于PHP情况的建议。

目前我有一个HTML页面,其中包含两个用户名和密码字段。当按下"提交"按钮时,将通过操作加载PHP文件,如果用户名和密码正确,则游戏启动。游戏与检查用户位于同一PHP文件中。用户可以回答许多问题,并根据他们的结果进行评分。用户完成后,他们可以按注销按钮,保存其当前分数和级别。

我被要求使用模型/视图/控制器设置。我能否就将我的一个 PHP 游戏文件修改为这种设置的过程提供一些建议?

我排除了游戏本身的功能,并以您的身份验证为例。

控制器

您案例中的控制器是接收表单提交的某个页面。它将验证任何输入,并决定调用哪个服务来获取响应。然后,它会将该响应(应仅包括将在页面上显示的数据,而不包括有关格式或其他信息的任何内容(传递给视图。

本例中的模型是提供身份验证的服务。这应该是一组函数,例如:

//returns 1 if successful, 0 otherwise
function authenticate(&$username, &$password) { ... }

通常,这些都封装在一个可以从任何地方调用的类中。这是您的"模型",因为它与问题域的数据交互。

视图

在这种情况下,一旦控制器将响应从身份验证服务传递到视图,视图就会解压缩它并使用 html 和 css 对其进行标记。在这种情况下,这可能意味着显示用户的登录名并获取游戏信息。或者,如果登录失败,视图应显示有关失败的所有内容;错误消息等。请注意,这是两种不同的视图:身份验证的成功和失败。