Я думаю, что я понимаю парадигму ООП на ее базовом уровне, но мне трудно осмыслить правильный способ поиска записей в базе данных. Я подозреваю, что это потому, что я не получаю ООП так сильно, как я думаю ...
Приложение, которое я пытаюсь написать, представляет собой корзину для покупок, поскольку в ней много хороших кандидатов на объекты. Объект, с которым я буду работать, - это продукт (да, это очень примитивно).
<?php
class Product
{
public $id = 0;
public $name = '';
public $price = 0;
function __construct($id)
{
// if $id exists try to retrieve
// a product with $id
// else create a new product
// and set $this->id
}
}
$product = new Product();
echo $product->name;
?>
Достаточно просто. Но теперь я хочу найти несколько продуктов (для страницы результатов поиска) и не знаю, как с этим справиться.
Я склонен писать другой класс, который принимает некоторые данные и выполняет SQL-запрос, который просто возвращает список идентификаторов продуктов. Затем я бы просмотрел эти результаты и создал бы объект продукта для каждого из них. Затем я мог бы перебрать массив объектов и построить свою страницу с результатами поиска.
Я не уверен почему, но это не похоже на правильный путь. Похоже, слишком много работы, потому что сначала я делаю запрос, чтобы просто получить список идентификаторов продуктов, а затем я делаю больше запросов, чтобы получить данные каждого продукта. Было бы намного быстрее, если бы просто сделал один запрос, который вернул все необходимые мне данные.
Что правильно делать? Возможно, что-то еще?