我开始使用PHP面向对象(现在几个月了),我想知道什么时候应该将更改保存到我的数据库中?
让我更具体一点:
让我们说我有一个名为book的对象,我已将其保存在MYSQL数据库ID,名称和价格中
class book{
private $id;
private $name;
private $price;
/*Getters,Setters and other stuff*/
}
现在我想知道,如果我需要编辑数据库中的数据,例如更改书名,我显然会传递一个表单,然后从中接收数据,创建一个类书的实例并编辑此实例的$ name。 现在在这样的setter方法中编辑MYSQL数据是否正确?
class book{
private $id;
private $name;
private $price;
public setNewName($newname){
$this->name = $newname;
$query = "UPDATE ETC ETC...";
}
}
我不确定的是,在编辑对象的同一时刻编辑数据库中的数据是否是一种好的做法,还是在更新数据库的destruct方法中使用查询会更好?如果有更好的解决方案,甚至是另一种解决方案。
答案 0 :(得分:0)
您可以阅读Active Record
。它是MODEL类本身知道如何更新数据库的模式。或者你可以研究DAO (Data Access Object)
,这是一个模式,你有一个接收对象的类并更新数据库。
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以使用Redbean ORM快速启动并运行以处理所有血腥细节。除了存在用户和密码的数据库之外,它不需要任何MySql设置。它将PHP类动态映射到MySql表/记录中。