我有一个快速的:我是 PHP 对象的初学者,我有一个包含我所有产品的产品表。
我的产品也有一个类(有一个构造函数,用我的产品的所有参数填充我的实例)。
假设我想要一个我所有产品的列表,我应该为我的产品列表创建一个单独的类,还是创建一个创建我的产品类的新实例的函数?
我现在并没有真正得到它的好处,因为如果我必须执行与我的类查询完全相同的查询,那没用?
谢谢你的提示!
更新
谢谢各位!这对我来说仍然很复杂,但这就是我所做的(谈论书籍)试图遵循你的建议。
我创建了一个 DAO。在这个 DAO 中,我有两个静态函数返回书籍列表或一本书,以及一个创建书籍对象的静态函数。
使用这种方法,我仍然有 2 个查询(一个用于列表,一个用于单本书)。我有一种感觉这是错误的,但任何帮助表示赞赏:)
class bookDAO {
public static function getBooks() {
$books = array();
$db = databaseConnection::getInstance();
$query = $db->query("SELECT * FROM books");
while($row = $query->fetchObject()) {
$book = self::createBookFromRow($row);
$books[] = $book;
}
return $books;
}
public static function getBook($id){
$db = databaseConnection::getInstance();
$query = $db->prepare("SELECT * FROM books WHERE id=:id");
$query->execute(array(":id"=>$id));
$row = $query->fetchObject();
$book = self::createBookFromRow($row);
return $book;
}
private static function createBookFromRow($row) {
$book = new book($row);
return $book;
}
}