Veritabanı erişimi soyutlama sınıfları

0 Cevap php

Şu anda, PDO kullanır DB adında bir veritabanı erişimi sınıfı vardır. Ben Sonra her tablo erişmek için alt sınıflar bir avuç var:

  • Users
  • Images
  • Galleries
  • Text
  • Videos

Önce benim projeye başladığımda bu güzel oldu, ama şimdi ben bu kadar emin değilim o kadar büyük, ben bu sınıfların her birinde kullanmak her veritabanı sorgu için bir yöntem var gibi. Örneğin:

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)

Peki, siz anladınız. Onları ortaya çıkar için ihtiyaç olarak bu yöntemleri ekleyerek edilmiştir ve geliştirme, ben sadece DB sınıfını kullanarak başlayabilirsiniz:

//Execute a query
DB::query($query);

//Get a single row
$row = DB::getSingleRow($query);

//Get multiple rows
$rows = DB::getMultipleRows($query);

Yani, onlar çalışırken o, ben bununla ilgili bir sınıfının bir yöntemi (images tablo için Resim sınıfı, galeriler tablo Galeriler sınıf, vb) onları şal, benim DB sınıfı ile sorgular test edin.

Bu ben daha sonra yeni özellikler eklemek gibi büyüyen ve büyümeye devam edecek gibi hissediyorum (Tamam olabilir ki, ama emin değilim). Herkes benim yöntemi eleştirmek ve / veya alternatif çözümler sağlayabilir?

Teşekkürler!

0 Cevap