spájame
slovenskú
IT komunitu
pridaj sa
Registrácia · Login

František Čaník 8.4.2011, článok je súčasťou seriálu Nette PHP framework
Hodnoť článok:
0 0

Nette PHP Framework (3): Pripojenie databázy a spojenie DiBi layeru

O tom, ako spojiť Vašu aplikáciu s úložným miestom – databázou a zároveň aj o základných možnostiach databázovej vrstvy – dibi.

predchádzajúcom článku sme sa venovali základnej štruktúre, no nevenovali sme sa ničomu, čo je v dnešnej modernej internetovej realite vážnou súčasťou – spojeniu s databázou. Tvorca Nette Frameworku je rovnako tak tvorcom aj jednej z najrýchlejších a najpoužívanejších databázových vrstiev písaných v PHP – Database Abstraction Layer-u s názvom DIBI.

Po stiahnutí databázovej vrstvy nás čaká – ako je už zvykom – rozhodnovanie sa, či použijeme skutočne minifikovanú verziu, alebo nahráme kompletný databázový framework na web. V našom prípade si však povedzme otvorene, nie je potrebné nahrávať na server všetko, keď máme minifikovanú verziu, ktorá má v sebe zakomponované úplne všetko a tak si do už pripraveného adresáru „LIBS“ nahráme aj súbor dibi.min.php.
Nakoľko využívame automatický RobotLoader, súbor s databázovou vrstvou sa nám automaticky načíta spolu s ostatnými prvkami, ktoré naša aplikácia bude potrebovať. Nakoľko sa však bavíme o aplikácii, ktorú testujeme na lokálnom serveri (localhost - development) a zároveň ju môžeme testovať aj na produkčnom prostredí (produkcia, Váš www server – production), potrebujeme si pre každý server nastaviť samostatné parametre. Nastavovanie databázy je pritom veľmi jednoduché.

Config.ini ako hlavný konfigurátor premenných prostredí

V súbore config.ini ste si už v úvode mohli všimnúť rozdelenie
[production < common] a [development < common]
Tieto sekcie rozdeľujú konfiguráciu pre produkčné prostredie a pre vývojové prostredie. V tomto prípade, keď chceme mať iné nastavenia pre produkciu (napríklad nastavenie CACHE), rozdelíme parametre pod tieto sekcie. V tomto článku sa však venujeme čisto databázovej vrstve a tak si pozrime nastavenia pre databázu:

[development < common]

database.driver = mysql			// ovládač na databázu, vieme použiť napríklad aj odbc či Oracle atď.

database.database = nazov_vase_DB	// názov vašej databázy, ktorá sa má zavolať


database.charset = utf8			// nastavenie kódovania komunikácie a výsledkov

database.lazy = FALSE			// ak je spojenie na databázu pomalšie


database.host = server			// server na ktorý sa má pripojiť (localhost, ip adresa, web)


database.username = uzivatel		// aký užívateľ sa má prihlásiť

database.password = heslo		// s akým heslom sa má autentifikovať

database.profiler = true		// či je táto databáza pripojená do profileru

A čo produkčné nastavenia? Tie môžu byť úplne odlišné!

[production < common]

database.driver = oracle


database.database = production


database.charset = utf8


database.lazy = TRUE


database.host = production.server


database.username = production.user


database.password = production.pass

database.profiler = false

Po pridaní týchto parametrov do konfigurácie – config.ini sa však ešte nestane to, že by sa Vám databáza pripojila. Na pripojenie databázy je potrebné, aby ste ju zavolali s presným určením, ktorá databáza sa má zavolať. Najlepšie je to urobiť priamo v súbore bootstrap.php a to nasledovne:

Pod riadok s načítaním hlavnej konfigurácie

NEnvironment::loadConfig();

stačí pridať riadok, ktorý zavolá pripojenie databázovej vrstvy:

dibi::connect(NEnvironment::getConfig('database'));

Určite ste si všimli zvýraznené slovo database. Nie je to chybou, je to len zvýraznenie, ktoré by Vás malo upozorniť na fakt, že si môžete nastaviť viacero rôznych databázových konekcií. Podobné veci sa využívajú pri väčších projektoch, ktoré potrebujú mať aj tzv. záložný zdroj dát. V takomto prípade sa dá vytvoriť konekcia na tzv. masterslave databázu.

* * *

Nabudúce
Aké príkazy databázová vrstva dibi v sebe skrýva, ako sa s ňou pracuje a prečo je práve spojenie Nette a DiBi najsilnejšie si prečítate už čoskoro v pokračovaní nášho seriálu už o pár dní (nebudeme to dlho preťahovať)

Páči sa ti Nette? A chceš sledovať články o Nette frameworku?

Ďalšie časti seriálu Nette PHP Framework nájdeš tu:
dev > Nette

František Čaník František Čaník

Programátor, webdesigner a webdeveloper niekoľkých webových projektov. Má za sebou prácu v reklamnej agentúre, médiách a na rôznych pozíciách v oblasti IT.


Hodnoť článok:
0 0

0 komentárov k článku:

Komentovať môžu iba prihlásení

Zaregistruj sa cez bezplatnú registráciu alebo použi login cez Facebook (FB Connect)

Prihlás sa tu, ak už máš profil na Zajtra.sk:


Zabudol som heslo

Zajtra.sk > Programovanie > PHP > Nette PHP Framework (3): Pripojenie databázy a spojenie DiBi layeru


Kritika

Vieš ako robiť veci lepšie? Pomôž našim odvážnejším členom a skritizuj im projekty!

Reklama

Seriály zo Zajtra.sk

Reklama