我正在尝试找到使用类将数据转换为类但使用同一类插入表或返回信息的最佳方法,但我不确定最好的方法。构造函数似乎在概念上给我带来了麻烦。现在我有一个页面,它使用以下命令将所有记录查询到一个类中:
$query->fetchAll(PDO::FETCH_CLASS, "Contact", array($dbh))
当然,这会将每条记录放入“联系人”类中,将每一行放入同名的私有数据成员和用于添加/更新/删除记录的数据库连接句柄中。这工作得很好。但是把原始数据变成一个类给我带来了麻烦。遵循上述代码的语法 [据我所知],我不能有任何其他构造函数参数,否则这将是一个草率的 hack。这是我的代码:
class Contact {
private $dbh;
private $Contact_ID;
private $Contact_First_Name;
private $Contact_Last_Name;
private $Contact_Email;
private $Contact_Phone_Number;
public function __construct($dbh) {
$this->dbh = $dbh;
}
// ..
}
因此,如果我尝试使用表单中的数据创建一个新的联系人对象,则无法存储数据成员。我尝试了一个 hack 让它在具有默认参数的情况下工作,并检查默认值是否不会更改(因为它是 fetchAll() 的一部分),或者如果它不是,则存储新值但那不起作用。
谢谢。