prace s db bez dibi a podobnych

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Mesiah
Člen | 240
+
0
-

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. :)

Jod
Člen | 701
+
0
-
  1. sqlite databáza
  2. bez dibi? s dibi? Kde chceš, ale najskôr v konfigu :D
_Martin_
Generous Backer | 679
+
0
-

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:

  1. 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
  1. 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.