2

我很快就深入到越来越大的应用程序中,所以我认为了解什么是模式以及它们是如何工作的等是个好主意。所以,我在 youtube 上观看一些教程并阅读一些关于模式和设计原则和 MVC 出现了。我听说过它,但从未真正理解它,并且尚未使用 Zend 或 CodeIgniter 或其他本质上使用它的人。

反正在研究MVC这个话题的过程中,好像已经在用了。有人可以验证吗?以下是我通常如何使用登录系统来设置应用程序,例如:

login.php - 这是显示表单的 html 页面。表格提交给:

process.php - 这个类检查提交的值,并根据该值验证输入,检查密码,发回适用的错误,如果一切都是犹太洁食,它会实例化一个用户对象:

user.php - 这是一个模板化用户需要的属性和方法的类,包括将用户添加到数据库、提取配置文件信息、注销、从用户实例化私人消息对象、设置所需的会话变量等信息然后返回到 process.php,然后标头重定向回主页并成功登录。

那么……这是一个简单的 MVC 吗?在我做的研究中,登录听起来像视图,进程听起来像控制器,用户听起来像模型。我敢肯定这里有更深入的内容,但我真的很想把这些东西包起来,所以对我的逻辑进行任何调整都是非常受欢迎的。谢谢。

4

3 回答 3

2

简而言之,是的,您所拥有的是 MVC 模式的准系统基础。

MVC 范式中经常提到的一个短语是“胖模型,瘦控制器”。通常您的验证应该在模型对象中完成。控制器应尽可能轻。

于 2011-04-04T04:45:17.223 回答
2

你的 3 页听起来很像 MVC。然而,使用像 Codeigniter 或 Zend 这样的框架来让您编写更严格和可维护的代码总是有帮助的。

于 2011-04-04T04:47:11.017 回答
2

MVC 是一种将应用程序的三个主要部分分开的方法,目的是提高可维护性,通常与它一起提高性能。

例如,如果您使用的是 PHP 5.3(应该是,后期静态绑定、命名空间等非常有用!),您可以为应用程序的每个部分使用命名空间。然后,当您的应用程序逻辑出现错误时,您确切地知道您需要转到模型以执行特定操作并修复它。

视图允许我们将显示逻辑与应用程序的业务逻辑分开。有些人可能将 XHTML 与内联<?php echo $myVar; ?>类型的东西一起使用,而有些人可能更喜欢模板。这意味着当您编辑应用程序的 GUI 或其他面向外部的部分时,它永远不会对您的业务产生任何影响。

这意味着您的所有代码都经过组织并提高了可维护性,同时还模块化了您的应用程序。如果你使用自动加载器(总是使用spl_autoload_register('myAutoloader')而不是function __autoload($className)因为它可以被库和东西覆盖)那就更好了,这样你的应用程序只在需要时加载需要的东西。

于 2011-04-04T05:15:39.113 回答