【发布时间】:2014-02-27 14:50:57
【问题描述】:
我刚刚进入 OOP,我正在努力以正确的方式做所有事情。
我有一个 Product 类,有两个方法 RetrieveFromDatabase 和 Display
RetrieveFromDatabase 访问产品ID 的一个参数,它基本上运行我在我的抽象类中编写的 PDO 语句(不知道这是否正确,因为 PDO 已经有一些这样的功能)。它使用此 ID 来获取产品详细信息。
Display这个函数的想法是渲染产品细节。在此示例中,我只有 1 个 html,但我计划添加更多内容,因为我不知道如何将它们中的每一个传递给 div,这在我听说之前不在函数中(通常我这样做(<div> <?php echo $name; ?> </div>)哎呀。
Class Product {
public $name;
public $price;
public $length;
public $description;
public $type;
private $results;
private $database_connection
private function __construct(Database $database_connection) {
// database connection
$this->database = dbconnect();
}
public function RetrieveFromDatabase($id) {
$sql->database_connection->query('select Name, price, length, description FROM product WHERE id = :id');
$sql->database_connection->bind(':id', $id);
$sql->database_connection->execute();
return $this->results !== false;
//Retrieve the product details from database.
}
public function Display() {
//display the product information
while(($row = mysql_fetch_row($this->results)))
print_r($row);
echo <p> $this->database_connection->price </p>;
}
$Product = New Product();
}
我的问题
如何以正确的方式编写上述代码,而不必在类文件中包含任何 html?如果我犯了任何愚蠢的错误,也请纠正我。
【问题讨论】:
-
要求纠正愚蠢的错误只是在浪费 Stack Overflow 的强大功能——不是吗?至少您可以自己使 DB api 使用一致。
-
如果不教人们如何不犯“愚蠢的错误”,那么您所说的“Stack Overflow 的强大功能”究竟是什么?
-
@holodoc 因为这是他们的父母和小学老师的职责。
-
@YourCommonSense 我知道有一些聪明人发现很难理解和使用 OOP PHP。它不像我不想去理解它或不去尝试它。记住我为什么要学会正确地做是因为一旦你开始以错误的方式编程,就很难将其更改为正确的方式,我相信你知道什么。您开始编写代码的方式不是正确的吗?
-
@YourCommonSense 不幸的是,我的父母不是写代码的,所以没有人能纠正我的错误,只有在我尝试做错事时问愚蠢的问题才能纠正我的错误,我学到了这么多