如何从头开发MVC框架?

时间:2009-12-02 08:59:28

标签: php model-view-controller implementation

视图很容易与MC分开,

但是如何分离M和C?差异对我来说似乎有些模糊。

我正在使用PHP。

9 个答案:

答案 0 :(得分:10)

我不会开始开发一个MVC框架,直到我知道MVC是什么,非常清晰和清晰,并能够闭着眼睛解释模型和控制器之间的差异。这样做的方法是学习现有的框架(Cake,Zend,QCubed等)。

答案 1 :(得分:9)

MVC的“模型”部分是指数据访问层,因此您应该创建用于读取/写入数据库的类。通常它是每个数据库“实体”的一个模型,因此,例如,一个文章类,一个类的类,加上一个简单的数据库类是一个好主意。

“控制器”部分是一般逻辑,通常是入口点。在这里检查输入和请求的页面,使用模型查找正确的数据并存储在视图的变量中。

你说的“视图”部分很容易。只需包含一个来自控制器的文件,该文件主要由HTML组成,但输出您的PHP变量。

答案 2 :(得分:7)

步骤1:花时间为现有的开源MVC框架做贡献。

第2步:开始考虑制作自己的。

第3步:停止恐慌。

答案 3 :(得分:5)

以下是使用PHP开发MVC框架的分步指南:

http://phpro.org/tutorials/Model-View-Controller-MVC.html

非常简单,很好的教程。

答案 4 :(得分:2)

也许这对您有用:http://www.phpmvc.net

答案 5 :(得分:2)

关于让无限大量的猴子(像我们所有人一样)保持真正吸引他们注意力的代码,然后在你自己的工作中利用它而不是完全重新发明轮子,还有很多话要说。如果您决定创建自己的MVC框架,我建议您整合由真正喜欢这些项目的人开发的专业项目(例如ORM层或模板引擎等),因为结果很可能在你的整体中变得更强大,这将最终使你的框架更加成功。

如果你看一下这里提到的MVC(例如Zope,Cake等),他们都在大约相同的时间开始,当时没有用于PHP的MVC,你看到他们都有自己的优势和缺点是因为创建它们的开发人员对其框架的所有方面都没有同样的热情。

我说,无论如何我们站在巨人的肩膀上,我们不妨承认,将他们的工作融入我们的工作中,并对自己和世界保持诚实。

-C

答案 6 :(得分:0)

从基础开始:

从源头了解MVC架构(第一部分) http://learnnewprogramming.com/blog/understanding-mvc-architecture/

答案 7 :(得分:0)

M(模型)=业务逻辑

C(控制器)=应用逻辑

答案 8 :(得分:0)

这可能是一个很好的起点:MVC in PHP是一本涵盖MVC基础知识的教程。