gpt4 book ai didi

php - 使用 mysqli 的类

转载 作者:太空宇宙 更新时间:2023-11-03 12:24:09 26 4
gpt4 key购买 nike

我正在用 PHP 构建 API,我有一个问题。我正在使用类,其中一些类需要访问我的数据库。但是,我不想在每个类中为数据库定义变量以便打开它,或者必须将我的 mysqli 对象作为每个类构造函数的参数发送。

解决此问题的最佳方法是什么?我是否定义了某种全局变量?

最佳答案

一个经典的解决方案如下

  1. 创建 dbatabase 处理程序类的实例,原始 mysqli(更差)或更好的抽象类(更好)
  2. 在您的应用程序类的构造函数中,将此数据库类实例作为参数并将其分配给局部变量
  3. 在您的类(class)中使用此变量。

一个简单的例子:

class Foo()
{
protected $db;
function __construct($db);
{
$this->db = $db;
}
function getBar($id)
{
return $this->db->getOne("SELECT * FROM bar WHERE id=?i", $id);
}
}
$db = new safeMysql();
$foo = new Foo($db);
$bar = $foo->getBar($_GET['id']);

关于php - 使用 mysqli 的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18394658/

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