Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.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_Implementation - Fatal编程技术网

Php 如何从头开始开发MVC框架?

Php 如何从头开始开发MVC框架?,php,model-view-controller,implementation,Php,Model View Controller,Implementation,视图很容易与MC分离 但是如何区分M和C呢?对我来说,区别似乎有点模糊 我正在使用PHP。也许这对你有用:也许这对你有用:直到我非常清楚地知道什么是MVC,并且闭上眼睛就能解释模型和控制器之间的区别,我才开始开发MVC框架。这样做的方法是学习现有的框架(Cake、Zend、QCubed等) 直到我清楚明了地知道什么是MVC,并且闭上眼睛就能解释模型和控制器之间的区别,我才开始开发MVC框架。这样做的方法是学习现有的框架(Cake、Zend、QCubed等) 以下是使用PHP开发MVC框架的分步指

视图很容易与MC分离

但是如何区分M和C呢?对我来说,区别似乎有点模糊


我正在使用PHP。

也许这对你有用:

也许这对你有用:

直到我非常清楚地知道什么是MVC,并且闭上眼睛就能解释模型和控制器之间的区别,我才开始开发MVC框架。这样做的方法是学习现有的框架(Cake、Zend、QCubed等)

直到我清楚明了地知道什么是MVC,并且闭上眼睛就能解释模型和控制器之间的区别,我才开始开发MVC框架。这样做的方法是学习现有的框架(Cake、Zend、QCubed等)

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


非常简单,很好的教程。

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


非常简单,很好的教程。

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

第二步:开始考虑做你自己的


第3步:停止恐慌。

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

第二步:开始考虑做你自己的

第3步:不要惊慌失措。

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

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

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

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

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

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

从基本内容开始:

从MVC体系结构的起源开始理解MVC体系结构(第一部分) 从基本知识开始:

从MVC体系结构的起源开始理解MVC体系结构(第一部分) M(模型)=业务逻辑

C(控制器)=应用程序逻辑

M(模型)=业务逻辑


C(控制器)=应用程序逻辑这可能是一个很好的起点:这是一个涵盖MVC基础知识的教程。

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

关于让无穷无尽的猴子大军(像我们所有人一样)维护真正吸引他们注意力的代码,有很多话要说,然后在你自己的工作中利用它,而不是完全重新发明轮子。如果您决定创建自己的MVC框架,我鼓励您集成由真正热爱这些项目的人开发的专业项目(例如ORM层或模板引擎等),因为其结果可能是整个框架中更强大的部分,最终将使您的框架更成功

如果你看看这里提到的MVC(例如Zope、Cake等),它们几乎都是在PHP没有MVC的时候开始的,你会发现它们都有自己的优点和缺点,因为创建它们的开发人员对其框架的各个方面都没有同样的热情

我说,不管怎样,我们站在巨人的肩膀上,我们不妨承认这一点,把他们的工作融入我们的工作,对我们自己和世界诚实


-C

关于让无穷无尽的猴子大军(像我们一样)维护真正吸引他们注意力的代码,然后在自己的工作中利用这些代码,而不是完全重新发明轮子,有很多话要说。如果您决定创建自己的MVC框架,我鼓励您集成由真正热爱这些项目的人开发的专业项目(例如ORM层或模板引擎等),因为其结果可能是整个框架中更强大的部分,最终将使您的框架更成功

如果你看看这里提到的MVC(例如Zope、Cake等),它们几乎都是在PHP没有MVC的时候开始的,你会发现它们都有自己的优点和缺点,因为创建它们的开发人员对其框架的各个方面都没有同样的热情

我说,不管怎样,我们站在巨人的肩膀上,我们不妨承认这一点,把他们的工作融入我们的工作,对我们自己和世界诚实


-C

同意。我要说的是,我自己创建了两个完整的MVC系统,却一点也不知道MVC系统应该是什么样子,结果非常零碎和令人讨厌。我的第三个是非常好的tho:D(尽管如此,除了Cake或Zend之外什么都没有)我也同意,但是,没有比重新发明赛义德车轮更好的学习车轮如何工作的方法了。也就是说,你自己动手(为了理解和学习)是个好主意,尽管不是用它。闭着眼睛描述一件事并不比睁开眼睛难多少…同意。我说,让我自己创造