prace s db bez dibi a podobnych
- Mesiah
- Člen | 240
Zdravicko,
mám pár otázek:
- K čemu je sample.sdb ?
- Jak (a kde) nastavim vlastnosti pro pripojeni k mySql db ?
(mám na to vytvářet vlastní třídu? a můžu použít klasický způsob připojení? a (nebo) způsoby připojení definuji v modelu?)
děkuji, s nette začínám, ale jsem z něj nadšený, ale spoustu věcí si musím ujasnit. :)
- _Martin_
- Generous Backer | 679
Záleží na tobě. Pokud nechceš používat žádný DB layer (dibi,…), budeš si muset práci s DB vyřešit sám, nejlépe pomocí mysql(i) funkcí v PHP vytvořením nějaké třídy (=modelu), která bude zajišťovat připojení k DB a práci s dotazy.
Pokud bys chtěl používat dibi, obvyklý postup je:
- nadefinovat parametry připojení v souboru config.ini (více o nastavení prostředí):
database.driver = mysqli
database.host = "localhost"
database.port = "3306"
database.username = "web"
database.password = "web123"
database.charset = "utf8"
database.database = "web"
database.lazy = TRUE
- v souboru
bootstrap.php
načíst nastavení a přípojit se k databázi
Environment::loadConfig();
// ...
dibi::connect(Environment::getConfig('database'));
Uvedené řešení se hodí, pokud pracuješ s DB v každém požadavku.
Pokud jen někdy, může být lepší se k DB připojovat až v okamžiku, kdy
budeš DB potřebovat (v presenteru, komponentě,…).
Samozřejmě místo třídy dibi můžeš použít libovolnou třídu, jen je
potom třeba upravit pojmenování parametrů v configu.