gpt4 book ai didi

php - MVC,类去哪儿了?

转载 作者:可可西里 更新时间:2023-11-01 13:46:40 25 4
gpt4 key购买 nike

我对MVC的理解如下(万一错得离谱,毕竟我是新手)

  1. 模型是与数据库接口(interface)的东西
  2. View 是页面的设计/布局
  3. Controller 是一切开始的地方,本质上是页面逻辑

我正在使用 CodeIgniter但我敢猜测它不仅限于此,甚至可能仅限于 PHP 框架。

我应该在哪里放置全局类?

我可能有一个产品模型,然后运行一个查询,从数据库中收集 20 种产品。我现在是制作 20 个模型还是应该为它创建一个单独的类,如果是后者,我应该把这个类放在哪里(其他 Controller 也需要使用它)

最佳答案

在讨论如何处理产品时,模型是一个错误的词:每个产品都是一个值对象 (VO)(或数据传输对象/DTO,任何更适合您的嘴巴)。值对象通常具有与表包含的相同字段。在您的情况下,ProductVO 应该具有 Products 表中的字段。

模型是一个数据访问对象 (DAO),它具有如下方法

findByPk --> returns a single value object
findAll --> returns a collection of value objects (0-n)
etc.

在您的情况下,您将拥有一个具有类似于上述方法的 ProductDAO。这个 ProductDAO 然后会返回 ProductVO 和它们的集合。

数据访问对象还可以返回 业务对象 (BO),其中可能包含多个 VO 和特定于业务案例的其他方法。

附录:在您的 Controller 中,您调用 ProductDAO 来查找您想要的产品。然后将返回的 ProductVO(s) 传递给 View (作为 Java 中的请求属性)。然后 View 循环/显示来自 productVO 的数据。

关于php - MVC,类去哪儿了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/138508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com