gpt4 book ai didi

php - PHP 类应该如何与 MySQL 数据库交互?

转载 作者:行者123 更新时间:2023-11-29 08:05:24 24 4
gpt4 key购买 nike

有一天,在开发我的 PHP 项目并实现 User 类时,我开始想知道这个类应该如何与项目正在使用的 MySQL 数据库交互。

让我从一个例子开始:假设我在 User 类中有一个 getName() 方法,它返回用户的真实姓名。实现该方法更合适的方法是什么?

我想出了两个解决方案:

  1. 我将数据库查询放在 getName() 中,并且只得到我需要的内容,如下所示:

    public function getName() {

    // MySQL query code here
    }
  2. 我在 User 类中创建一个 load() 方法,该方法加载类结构中的所有用户数据,然后创建 getName() 是这样的:

    private $name;

    // Load all user data inside the class' structure
    public function load() {

    $this->name = // MySQL query here
    }

    public function getName() {

    return $this->name;
    }

我认为,不确定是否错误,第一种方法更有效,因为我只获取我需要的数据,而第二种方法更面向对象,但效率较低。

那么,问题来了:什么是更好的方法?为什么?还有更好的方法吗?

最佳答案

无论哪种方式,请考虑存储/缓存其结果,这样您就不会每次在该对象上使用 getName 时都进行查询。另外,请考虑不要使用 ORM/DBAL 解决方案(如 propel or doctrine)来担心所有这些问题。 .

另请查看延迟加载和 Active Record Pattern

关于php - PHP 类应该如何与 MySQL 数据库交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22832742/

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