gpt4 book ai didi

php - PHP 用户类应该扩展数据库类吗?

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

我不确定这样做是否完全错误,所以我正在寻求一些建议。

我已经建立了一个数据库类,构造函数建立了一个 PDO连接到 MySQL 数据库。

我一直在看singletons和全局变量,但似乎总是有人反对 either/or。

我正在试验一个扩展数据库类的用户类,因此我可以调用 PDO 函数/方法,但维护单独的用户类代码。这是愚蠢的做法吗?

最佳答案

您通常应该将连接传递给您的用户,这样您的用户类就会将一个数据库类型对象带入其构造函数,然后使用该数据库对象对数据库执行查询。这样您的数据访问逻辑就与您的业务逻辑保持分离。这称为组合,与您所说的继承相反。

如果你真的想成为技术人员,最好有一个用户对象,除了公共(public)变量什么都没有,然后你会使用“服务”来实现你的业务逻辑。

class UserService implements IUserService
{
private $_db;
function __construct(IDb $db) {
$this->_db = db;
}

function GetAllUsers() {
$users = Array();

$result = $this->_db->Query("select * from user")

foreach($result as $user) {

//Would resolve this into your user domain object here
users[] = $user;
}
return users;
}
}

关于php - PHP 用户类应该扩展数据库类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7827713/

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