У меня есть вспомогательный класс DAO (я не знаю, если это так), чтобы получить категории из базы данных MySQL, структура в основном такова:
<?php require_once '../include/PDOConnectionFactory.php'; class CategoryDAO extends PDOConnectionFactory { /** * * @var PDO $conn */ private $conn; public function __construct() { $this->conn = PDOConnectionFactory::getConnection(); } } ?>
Этот класс имеет эти методы (некоторые тогда):
getMaxLevel() getAllCategories() getAllCategoriesOfLevel($level) haveChildCategory($categoryName) getIdCategory($categoryName) getCategoryName($idCategory)
Изменить : Тело метода getAllCategories () похоже на это ниже, и почти весь метод этого класса вызывает этот getAllCategories ():
public function method() { try { $stmt = $this->conn->prepare("SELECT * FROM category"); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $e) { echo $e->getMessage(); } return $result; }
Я не знаю, какой лучший подход к сокращению избыточности запросов, я думаю в них:
Но в этих случаях я вижу этот недостаток:
Если моя проблема концептуальна в ООП, пожалуйста, дайте мне знать.