Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]dwie warstwy abstrakcji na bazę
qrzysztof
post
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

Ostrzeżenie: (0%)
-----


Witam,

Mam obecnie w swojej aplikacji własną klasę obsługującą bazę danych.

Działa na zasadzie

Kod
$db = new Database();
  $db->connect();
  
$db->select('nazwa')->from('tabela')->where('id=5')->execute();
$name=$db->getResult();

echo $name;


Z klasy nie jestem do końca zadowolony, ale powiedzmy, że spełnia moje obecne potrzeby. Jest uniwersalna i przenośna (nie chodzi mi o przenośność między bazami, ale o gotowość do wykorzystania w innej aplikacji).


Zauważyłem jednak, że byłoby bardziej ładnie, prosto i "obiektowo" gdyby nałożyć na moją bazę jeszcze jedną warstwę abstrakcji. Coś, co skróciłoby powyższy kod do:
Kod
$dbManager = new DbManager();
$dbManager->getName(5);

echo $name;

Klasa DbManager rozszerzałaby wtedy klasę Database.

Klasa Database byłaby gotowa do pracy z dowolną bazą (tzn dowolnym egzemplarzem bazy mysql w tym przypadku) i dowolną aplikacją a klasa DbManager byłaby niejako pomostem między klasą Database i aplikacją.

Co sądzicie o takim rozwiązaniu? Nie jest to sztuka dla sztuki? A może to dobre rozwiązanie?

Chcę w miarę możliwości oddzielić obsługę danych od reszty. Do modelu MVC pewnie dużo brakuje, ale zawsze to jakiś krok w dobrym kierunku. Jakie rozwiązania polecacie do tgo celu?

Ten post edytował qrzysztof 27.06.2009, 19:23:41
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 18:13