gpt4 book ai didi

php - 实现我的第一个 PHP 模型

转载 作者:行者123 更新时间:2023-11-30 23:47:42 25 4
gpt4 key购买 nike

我使用与 MySQL 数据库接口(interface)的 Slim 框架 ( http://www.slimframework.com/ ) 编写了一个小型 RESTful PHP 后端,现在我只有一个类来执行所有数据库交互,而且它变得有点大了。所以是时候把它组织得更干净一些了。

因此,根据我对 MVC 的理解,更好的方法可能是实现一个模型层,如下所示:

  • 系统中的每个逻辑实体都将使用一个数据类来实现。 IE。用户帐户:一个名为“Account”的类,包含 getId()、getName()、getEmail() 等
  • 和相应的工厂对象,即 AccountFactory,它拥有 DB 连接并创建一个 Account 类以在业务逻辑层的其他地方进行操作。
  • 业务逻辑层仍然非常简单,可能是一个名为 MyApplication 的类,它实例化工厂并使用它们来响应 RESTful API 调用。
  • 例如,业务逻辑可能是根据地理位置将两个帐户匹配在一起。因此,在这种情况下,我将只测试两个单独的帐户对象中的数据,而不是从数据库加载的原始数据。

但这似乎花费了大量重构时间来做基本相同的事情。为什么我不想只使用从数据库加载的普通数组数据?当然,它不是独立于 DB 的,但我现在真的不打算放弃 MySQL。

我的处理方式是否正确?

最佳答案

嗯,部分。

第一点描述了一个模型——MVC中的M。从这个模型中抽象出您的“业务逻辑”在很多方面都很有意义。一个用例可能是一个与与 REST API 相同的数据进行交互的网站。您可以重用模型,只需要构建新的 Controller 。

“业务逻辑”/“层”可能是 Controller - MVC 中的 C。但是我不会给予工厂对象数据库连接的所有权,因为一些用例可能想要使用多个工厂对象但应该使用相同的数据库连接......

我建议您阅读更多有关 MVC 方法的结构和优缺点的信息。

关于php - 实现我的第一个 PHP 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29319346/

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