Предположим, у меня есть класс под названием Books. Внутри этого класса у меня есть метод, который выбирает название, цену и категорию одной книги или нескольких книг. Так что-то вроде этого:Написание адаптивных методов PHP?
public function fetchRows() {
$sql = $con->prepare("SELECT Title, Price, Category FROM Books");
$sql->execute();
return $sql->fetchAll();
}
Все отлично и хорошо, но позволяет сказать, что теперь я хочу, чтобы принести еще одну строку, order
результат и limit
количество возвращаемых строк. Написание другого метода только для этого будет работать, но тогда это приведет к смешному количеству методов, и это просто беспорядочно и не соответствует правилу DRY. Я мог бы использовать аргументы для настройки инструкции prepare, тогда я бы, вероятно, закончил тем, что написал весь запрос внутри аргумента, и это тоже не кажется твердым и чистым.
Мой вопрос в том, как я могу написать/структурировать методы/классы, которые адаптируются к тому, что пытается получить конечный пользователь?
Извините, что это действительно не вопрос к конкретной проблеме. Я прочитал некоторые материалы о своей проблеме, но мне сложно обернуть этот шаблон вокруг моей головы, и я надеюсь, что кто-то может предложить объяснение или пример, которые могут помочь мне понять это.
Да, нередко у вас будет отдельное абстракция для взаимодействия с базами данных. Итак, еще один класс, вы можете передать все свои параметры и обработать все запросы db с помощью простого API-интерфейса. – kalpaitch