gpt4 book ai didi

php - 如何使用 PDO 处理数据库实例

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

我正在开发一个小型网络项目管理应用程序。我有一些类,如 Clients()、Services()、Projects() 等。每个类都包含 getClient()、newClient()、editClient() 等方法,并且每个方法都需要数据库连接。我添加了一个额外的 PDO 类。

我的客户类的当前代码:

<?php
// include database class
require_once('../../../lib/php/classes/database/database.class.php');

class Client {

public function getClient() {
$db = Database::get("default");
$clients = $db->select("SELECT * FROM clients ORDER BY name ASC");
return $clients;
}

public function newClient($values) {
$db = Database::get("default");
if ($db->insert("INSERT INTO clients (name,initial,payment,hourly_rate,active) VALUES (?,?,?,?,?)",$values)) {
} else {
print "Inserting failed";
}
}

}
?>

但我认为这没有任何意义。我怎样才能做得更好?第一个想法:构造函数方法,连接到数据库。

最佳答案

现在每个人似乎都喜欢一点依赖注入(inject),这会将数据库对象与 Client 类解耦。

class Client {

private $db = null;

public function __construct($db) {
$this->db = $db;
}
public function getClient() {
$clients = $this->db->select("SELECT * FROM clients ORDER BY name ASC");
return $clients;
}

public function newClient($values) {
if ($this->db->insert("INSERT INTO clients (name,initial,payment,hourly_rate,active) VALUES (?,?,?,?,?)",$values)) {
} else {
print "Inserting failed";
}
}
}

关于php - 如何使用 PDO 处理数据库实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9463207/

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