PHP类-在_构造中返回一个行ID,并始终引用该行ID
试着让我的头脑了解如何使用类并将其作为一个对象 Im正在将多个函数转换为使用单个类。这门课是给顾客的 我要做的是创建新的customer对象:PHP类-在_构造中返回一个行ID,并始终引用该行ID,php,class,oop,Php,Class,Oop,试着让我的头脑了解如何使用类并将其作为一个对象 Im正在将多个函数转换为使用单个类。这门课是给顾客的 我要做的是创建新的customer对象: $customer = new Customer($customer_info); 我的班级目前看起来: class Customer { private $customer_info; private $mysqli; function __construct(Array $customer_info, Mysqli $mysqli)
$customer = new Customer($customer_info);
我的班级目前看起来:
class Customer {
private $customer_info;
private $mysqli;
function __construct(Array $customer_info, Mysqli $mysqli) {
$this->mysqli = $mysqli;
$this->customer_info = $customer_info;
$result = $mysqli->query("SELECT * FROM `customers` WHERE id = 33");
$customerArray = array();
while ($customer = $result->fetch_object()) {
$customerArray[] = array(
'id' => $customer->id,
'first_name' => $customer->first_name,
'last_name' => $customer->last_name,
'email' => $customer->email
);
}
$customer_ID = $customerArray->id;
//return var_dump($customerArray);
}
function getCustomerId() {
return "id:$customer_ID";
}
}
当我创建一个新的customer对象时,我正在传入信息,然后我想插入一行,或者用传入的新customer information数组更新当前行
这很好,我已经在其他函数中完成了
但是,在此之后,我希望能够在该对象上使用许多函数
例如:
$customer = new Customer($customer_info); // create / update
$customer = customer->getCustomerID();
我希望getCustomerID函数只返回在启动新对象时创建/更新的数据库行的ID。在我的课堂上,你可以看到我如何设置一个值,然后在函数中使用它。。。但我确信这不是它的工作原理
我使用了Laravel,希望它能像那里的课程一样工作
谢谢。您必须创建类变量
class Customer {
private $customer_info;
private $mysqli;
public $customer_ID;
function __construct(Array $customer_info, Mysqli $mysqli) {
$this->mysqli = $mysqli;
$this->customer_info = $customer_info;
$result = $mysqli->query("SELECT * FROM `customers` WHERE id = 33");
$customerArray = array();
while ($customer = $result->fetch_object()) {
$customerArray[] = array(
'id' => $customer->id,
'first_name' => $customer->first_name,
'last_name' => $customer->last_name,
'email' => $customer->email
);
}
$this->customer_ID = $customerArray->id;
//return var_dump($customerArray);
}
function getCustomerId() {
return $this->customer_ID;
}
}
“返回当前对象的ID”是什么意思?以Laravel为例,可以执行$user=user::find(1)$user-delete();这个delete函数,您不必传入行ID,对象只知道它与您找到的行有关……所以您的“Customer”类中可以有多个Customer对象?因此,正确的名称应该是CustomerRepository或CustomerCollection,或者类似的名称。我错了吗?只是关于你的设计的一个注释,构造函数真的不应该做任何真正的工作。他们所要做的就是将对象初始化为有效的默认状态。它将只引用/创建/影响一行。如果这就是你的意思?这就是我刚才所做的:)现在我有了我的头脑,一切都很好。谢谢你的回复。