希望为“客户”制作课程。此类的目的是传递一些细节,然后添加用户或更新现有用户。
在此之后,我可能还想与这位'客户做更多事情。
我是班级的新手,所以无论我对当前发起的班级做什么,都需要知道如何始终引用同一行。
基本用途:
$customer = new Customer($customer_details);
在创建此类的新实例时,我希望它能够立即添加/更新一行。
然而,除了稍后我可能想要更新特定字段:
$customer->setValue('firstname','Craig');
但我不想在此功能中进行另一次查找以获取行ID等。我希望$customer
始终引用给定$customer_info
的用户。
答案 0 :(得分:1)
假设您希望setValue()
更新数据库,我建议您在Customer
类中创建一个包含数据库中行标识符的字段。
/**
* Database identifier.
*
* @var string/int
*/
private $id;
让构造函数使用$this->id = $id
在对象创建时设置标识符的值。然后,您的setValue()
调用可以使用该标识符来更新数据库中的信息。
修改
如果要创建新的Customer
而不是更新现有的{{1}}(将新数据传递给构造函数),那么您正在使用的数据库控制器应该有一种方法来获取新行的ID(给定它)是一个自动递增的值)。否则,ID就是您正在生成的内容,在这种情况下,您只需在类中设置字段值。
答案 1 :(得分:-1)
我认为您指的是Active Record Pattern。您可以在PHP中找到许多实现,例如Propel。