Dynamické vytváření připojení k databázím
- Ahorn
- Člen | 5
Zdravím,
potřeboval bych od Vás poradit ohledně připojování k databázím.
Uživatel se nejprve musí přihlásit, při přihlášení vybírá
databázi.
Podle této databáze ověřit údaje přihlášení.
Dále celá aplikace využívá jen tuto databázi.
Některé databáze se od sebe liší strukturou (sjednotím v modelu)
Aplikace nepotřebuje defaultní databázi, nebo o tom zatím nevím :)
Předem Vám děkuji za rady
- Martk
- Člen | 661
V jedné aplikaci jsem to udělal přibližně viz níže.
V konfiguračním souboru si zaregistruješ službu:
services:
- DatabaseProvider
Tahle služba bude vypadat přibližně takto, pokud použiješ session:
class DatabaseProvider {
public function __constructor(Session $session) {} // vyžádáš si to co potřebuješ k získání databáze
public function getDatabase(): string {
if (!isset($session['database']) { } // error, exception, popř. defaultní databáze
// nějaké ošetření, ať se to nepřipojuje kam nechceš...
return $session['database'];
}
}
a pak ji předáš jako název databáze v configu:
database:
db: @DatabaseProvider::getDatabase()