Jak zaprojektowac OOP dostep do baz danych

0

Mam 3 aplikacje powiedzmy dowolne jakieś co działają w przegladarce. Te aplikacje są niezależne od siebie.
Każda z tych aplikacji używa tego samego silnika czyli mam postgresql

powiedzmy ze pliki baz danych nazywaja sie

baza1.db
baza2.db
baza3.db

Nie chcę tu pisać kudu tylko zależy mi na diagramie przepływu informacji czy też zobrazować sobie taką obsługę. Nie wiem czy jestem na dobrej drodze, gdyby ktoś mógł to zweryfikować będę wdzięczny. Ja to widzę tak:

  1. Miałbym plik konfiguracyjny z dostępem do tych baz czyli ip, port, uzytkownik haslo, baza danych.
  2. Potem zrobić klase do polaczenia z baza danych funkcje connect, fetch, fetchall, select itd.
  3. W glownym pliku aplikacji dołączam klase do obsługi bazy

I teraz chciałem stworzyć trzy instancje połączeń bazy danych każda z innymi danymi do polączenia z konretna baza

$objDB1 = my_class_Db::connect($tablica_z_danymi_do_polaczenia);
$objDB2 = my_class_Db::connect($tablica_z_danymi_do_polaczenia);
$objDB3 = my_class_Db::connect($tablica_z_danymi_do_polaczenia);

I potem w aplikacji używać w zależności do jakiej bazy coś chce dodać czy coś wyciągnać konkretnego obiektu:

$objDB2->select($query)

Dobrze myślę czy może jest jakiś łatwiejszy sposób ?

0

Ja zrobiłbym klase fabryke, która zwraca mi połączenie po zadanej nazwie, dopiero tam w środku dobierałbym się do parametrów połączenia. Można by nawet pokusić się o wydzielenie tworzenia połączenia do osobnej klasy np: DbConnectionManager i tam trzymać kolekcje połączeń. Wypadałoby tez zadbać o to żeby tworzenie tych połączeń było 'lazy'.

1 użytkowników online, w tym zalogowanych: 0, gości: 1