我对 PHP 情况提出了一些建议。
目前我有一个包含两个用户名和密码字段的 HTML 页面。当按下“提交”按钮时,通过 Action 加载 PHP 文件,如果用户名和密码正确,则游戏启动。游戏与用户检查位于同一个 PHP 文件中。用户可以回答许多问题并根据他们的结果进行评分。用户完成后,他们可以按下一个注销按钮来保存他们当前的分数和级别。
我被要求使用模型/视图/控制器设置。我可以就将我的一个 PHP 游戏文件修改为这种设置的过程提供一些建议吗?
我对 PHP 情况提出了一些建议。
目前我有一个包含两个用户名和密码字段的 HTML 页面。当按下“提交”按钮时,通过 Action 加载 PHP 文件,如果用户名和密码正确,则游戏启动。游戏与用户检查位于同一个 PHP 文件中。用户可以回答许多问题并根据他们的结果进行评分。用户完成后,他们可以按下一个注销按钮来保存他们当前的分数和级别。
我被要求使用模型/视图/控制器设置。我可以就将我的一个 PHP 游戏文件修改为这种设置的过程提供一些建议吗?
我排除了游戏本身的功能,并以您的身份验证为例。
控制器
在您的情况下,控制器是接收表单提交的某个页面。它将验证任何输入,并决定调用什么服务来获得响应。然后它会将该响应(它应该只包括将要在页面上显示的数据,而不是关于格式或其他信息的任何内容)传递给视图。
模型
在这种情况下,模型是提供身份验证的服务。这应该是一组函数,例如:
//returns 1 if successful, 0 otherwise
function authenticate(&$username, &$password) { ... }
通常这些被封装在一个可以从任何地方调用的类中。这是您的“模型”,因为它与问题域的数据交互。
看法
在这种情况下,一旦控制器将来自身份验证服务的响应传递给视图,视图就会将其解包并用 html 和 css 标记它。在这种情况下,它可能意味着显示用户的登录名并获取游戏信息。或者,如果登录失败,视图应该显示所有关于失败的信息;错误信息等。注意这是两种不同的视图:认证成功和失败。