【问题标题】:MVC in php, model for categories?php中的MVC,类别模型?
【发布时间】:2013-03-13 00:17:05
【问题描述】:

我正在用 PHP 构建我的第一个小应用程序并尝试做 MVC。

我的网站需要大量的城市和类别。

我的问题是一个相当简单的问题,但是由于数组是网站的数据,所以它只是 php 数组,应该将数组放入自己的模型中吗?

据我了解,模型用于业务逻辑和访问数据,因为城市和类别基本上是数据,是否有理由证明它们有模型?

如果答案是否定的,我该怎么办?

谢谢

【问题讨论】:

  • Inb4 使用框架。
  • 我不想要框架,我不学习使用框架。
  • 你应该学习使用框架。有些人只会了解设计模式的基础知识。
  • @DaniloKobold,我不想在这里讨论,我只想说:框架,尤其是 PHP 框架,并不完美。有时我们只需要像 Griff 这样的人来重新发明一个更好的轮子,尤其是当大部分轮子都是方形的时候。让他试试。然后当它需要一个时,他总是可以学习一个。
  • 我不是说他不会。我同意框架可能会注意到所有的优势,但它会给他一些实践知识来构建一个单一的示例系统,比如说 symphony 或 zf。他将在 2 小时内掌握 mvc 的基础知识。 (在制作之前他必须理解它,否则它最终会像这样)

标签: php model-view-controller model


【解决方案1】:

模型负责检索、编辑、删除和一般管理数据。数据通常来自一些静态来源,例如数据库、XML 文件等。

您应该创建与这些数据交互的模型类。这就是模型应该做的事情。显然,您可以按照您想要的方式将数据保存在私有成员、数组、其他类等中。

您可能想知道为什么这是个好主意?好吧,数据应该存储在类中,因为您可以设置类成员的可见性。数据项通常是私有的,因此您可以决定允许哪些操作,从而带来更好的设计和安全性。

此外,模型中通常不包含任何逻辑。它是处理逻辑的控制器。在 MV(模型/视图)架构中,模型实现了一些逻辑。

您还可以看看流行的框架如何处理它们。

【讨论】:

    【解决方案2】:

    老实说,在开始构建 MVC 表单之前,您需要多学习一点理论。 MVC 不以任何方式连接到业务模型。这是软件架构。是的,控制器可能会扮演业务层的角色,但这不是解释它的方式。

    我强烈建议你这样做:

    暂时使用一个框架,比如 Symphony2 或 ZF。他们会默认强制你进入 mvc,这将提高你的实践知识。

    阅读本书/圣经Design Patterns

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      • 2014-07-19
      • 2016-05-09
      • 1970-01-01
      • 2012-03-09
      • 2015-03-06
      • 2014-12-15
      相关资源
      最近更新 更多