【问题标题】:How to develop a MVC framework from scratch? [closed]如何从头开发 MVC 框架? [关闭]
【发布时间】:2010-12-22 08:13:39
【问题描述】:

视图容易与MC分离,

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

我正在使用 PHP。

【问题讨论】:

标签: php model-view-controller implementation


【解决方案1】:

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

如果您查看此处提到的 MVC(例如 Zope、Cake 等),它们几乎都是在没有用于 PHP 的 MVC 时开始的,您会发现它们都有自己的优势和弱点,因为创建它们的开发人员对其框架的所有方面都没有同等的热情。

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

-C

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      M(模型)= 业务逻辑

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

      【讨论】:

        【解决方案4】:

        从基础开始:

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

        【讨论】:

          【解决方案5】:

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

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

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

          【讨论】:

            【解决方案6】:

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

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

            第 3 步:停止恐慌。

            【讨论】:

              【解决方案7】:

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

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

              非常简单,很好的教程。

              【讨论】:

                【解决方案8】:

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

                【讨论】:

                • 同意。我这么说,我自己创建了两个完整的 MVC 系统,却丝毫不知道 MVC 系统应该是什么样子,结果非常不完整和烦人。我的第三个非常好 :D (不过,除了 Cake 或 Zend 之外什么都没有)
                • 我也同意,但是,没有比重新发明轮子更好的方法来学习轮子的工作原理了。 IE。自己动手(用于理解和学习)是个好主意,尽管使用它不是。
                • 闭上眼睛描述事物并不比睁着眼睛更难描述......
                【解决方案9】:

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

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2011-04-12
                  • 2011-04-17
                  • 1970-01-01
                  • 2013-06-16
                  • 2016-02-29
                  • 2022-01-23
                  • 2012-03-17
                  相关资源
                  最近更新 更多