- Aplikace
- Databáze
- Šablony
- Formuláře
- Knihovny
- Návody
Databáze – vytvoření spojení
Statický wrapper
Jednotlivá spojení s databázi prezentuje instance třídy
DbConnection. Aby byla práce co nejsnazší, existuje nad těmito
instancemi statický wrapper – statická třída Db. Tato
třída pracuje vždy s poledním aktivním spojením. Pomocí ní můžete
jednotlivá spojení vytvářet a také mezi nimi přepínat. Třída
Db obsahuje pro práci s databází stejné metody jako třída
DbConnection.
$connection = new DbConnection($config);
$connection->...
# or
Db::connect($config);
Db::...
Databázová vrstva podporuje tyto PHP extenze:
mysql, mysqli, pgsql.
Konfigurace spojení
Konfigurační nastavené pro připojení se předává jako pole. Toto asociativní pole může obsahovat následující klíče:
- driver – příslušný ovladač databáze (mysql, mysqli, pgsql),
- server – název serveru (tradičně localhost) nebo jeho IP adresa,
- username – uživatelské jméno,
- password – heslo,
- database – jméno databáze, se kterou budete pracovat,
- encoding – kódování relace spojení,
- lazy – boolean parametr, určuje, zda se má framework připojit k databázi hned (ffalse), nebo až když bude třeba (true).
Ukázka konfigurace připojení. V této ukázce jsou mj. uvedeny výchozí hodnoty, které se použijí, pokud daný klíč nenadefinujete.
Db::connect(array(
'driver' => 'mysqli',
'server' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'test',
'encoding' => 'utf8',
'lazy' => true
));
Automatické konfigurace
Pokud nepoužíváte pouze databázovou vrstvu, ale i konfigurační třídu
Config, pak nemusíte volat ani metodu
connect, Háefko framework se připojí až bude třeba a
konfigurační data vyčte z direktivy db.connection. Díky
třídě Config dostanete do ruky také mocný multi serverový
konfigurační nástroj – data pro připojení se budou předávat
závisle na aktuálním serveru.
Více spojení
Pokud potřebujete více spojení, je pak nutné si je pojmenovat, aby bylo
později možné určit, se kterým chcete později pracovat. Pojmenování
provedete pomocí druhého volitelného parametru metody connect.
Pak stačí pouze přepínat spojení pomocí metody active.
db::connect(..., 'default');
db::connect(..., 'cms');
# now is active cms connection
db::active('default');
