В настоящее время у меня есть класс доступа к базе данных с именем DB
, который использует PDO
. Затем у меня есть несколько подклассов для доступа к каждой таблице:
Users
Images
Galleries
Text
Videos
Это было приятно, когда я впервые начал свой проект, но теперь я не уверен, насколько он хорош, поскольку у меня есть метод для каждого запроса к базе данных, который я использую в каждом из этих классов. Например:
Images::insertNew($filename)
Images::getTotalInGallery($galleryId)
Images::getAllInGallery($galleryId, $fetchStyle)
Images::updateDescription($imageId, $description)
Images::updateGallery($imageId, $galleryId, $orderNum)
Images::getSingle($imageId)
Images::getFilename($imageId)
Images::getImageIdByFilename($filename)
Galleries::getNameById($galleryId)
Galleries::getAll()
Galleries::getMaxImages($galleryId)
Galleries::checkIfExists($galleryId)
Galleries::createNew($galleryName)
Galleries::getById($galleryId)
Galleries::delete($galleryId)
Ну, вы поняли. Я добавляю эти методы по мере необходимости, и в процессе разработки я начинаю с использования класса DB
:
//Execute a query
DB::query($query);
//Get a single row
$row = DB::getSingleRow($query);
//Get multiple rows
$rows = DB::getMultipleRows($query);
Итак, я тестирую запросы с моим классом БД, затем, когда они работают, я оборачиваю их в метод связанного с ним класса (класс Image для таблицы изображений, класс Galleries для таблицы galleries и т. Д.).
Я чувствую, что это будет расти и расти, поскольку я добавляю новые функции позже (что может быть хорошо, но я не уверен). Кто-нибудь может критиковать мой метод и / или предлагать альтернативные решения?
Спасибо!