Lokalni konfig

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

Ahoj, nejak jsem hledal a nenasel jak se resi v nette situace kdy potrebuju ruzne hodnoty konfigu v zavislosti na prostredi (stroji).
Konkretni situace: mam vyvojovy stroj a produkcni, na kazdem stroji jsou ruzne pristupy do databaze.
Zatim me napadlo reseni sekci ktere Config nabizi.
Jenze se mi nelibi, ze by v jednom souboru bylo ulozeno pripojeni na vyvojovy server a produkcni, nehlede na to ze mam config ve verzovacim systemu a tam davat takove data mi neprijde jako dobre.
Klasicky to resim tak, ze mam lokalni konfiguraci prizpusobenou danemu stroji kterou mam v ignore verzovaciho systemu… Konfig se pak pretezuje…
Doufam, ze jsem to popsal dostatecne srozumitelne… Urcite to kazdy uz musel nekdy resit a tak vas prosim o radu… Predem dik…

Ondřej Mirtes
Člen | 1536
+
0
-

K tomuto slouzi sekce, ktere v config.ini mas :) Nette ma i autodetekci vyvojoveho a produckniho prostredi, dedeni jednotlivych sekci. Nevim, jak jinak bys to chtel resit…

volda
Člen | 9
+
0
-

Jo sekce jsou fajn, ale predstav si, ze i na lokalnim vyvojovem stroji chces vyzkouset produkcni mod. Kdyz budu mit v produkcnim modu nastavene pristupy k ostremu serveru tak to neni dobre (nehlede na to, ze to je ve verzovacim sys.).
Osobne to vzdy resim tak, ze mam lokalni kofiguracni sobour napr. config.local.ini kterej pretezuje config.ini

Ondřej Mirtes
Člen | 1536
+
0
-

Na lokálním stroji vyzkoušet produkční chování lze.

Stačí nastavit po volání loadConfig Environment::setMode(Environment::PRODUCTION); (čímž budeš mít nastaven dev config, ale aplikace se octne v produkčním módu) a pro správné nastavení odchytávání výjimek stačí dát $application->catchExceptions = Environment::isProduction();. Osobně mám v configu (v common sekci) nastavení forceProduction (pro případ, že by detekce selhávala anebo bych chtěl právě vyzkoušet produkční chování aplikace), které mi ovlivňuje tuto věc v bootstrapu.

A pokud nechceš mít hesla ve verzovacím systému, tak je tam nedávej :) Git umožňuje commitovat změny až na úroveň jednotlivých řádků, takže když budeš něco měnit v config.ini, nemusíš commitovat celý soubor, ale jen ty změny, které tě zajímají.

volda
Člen | 9
+
0
-

Dik za radu… asi to tak zatim udelam, ale prijde mi, ze by bylo lepsi pretezovat jeste konfiguracni soubory podle me to ani neni moc prace.

A pokud nechceš mít hesla ve verzovacím systému, tak je tam nedávej :) Git umožňuje commitovat změny až na úroveň jednotlivých řádků, takže když budeš něco měnit v config.ini, nemusíš commitovat celý soubor, ale jen ty změny, které tě zajímají.

Spolehat se na verzovaci sys. a commitovat jen casti konfiguraku mi prijde trochu uhozene…

Ondřej Mirtes
Člen | 1536
+
0
-

Ještě mě napadlo, že tu někde lze nalézt třídu/komponentu, která umožňuje načítat konfiguraci z více souborů naráz, ale nevím, jak a jestli to funguje.

volda
Člen | 9
+
0
-

Jo tak to je asi to co mam na mysli… nevzpomenes si nahodou na nejake klicove slova??? Prohledaval jsem forum a nic jsem nenasel.

Cifro
Člen | 245
+
0
-

To je tu: https://forum.nette.org/…nich-souboru

Ale nefunguje mi správne spájanie dvoch configov. Ak sú rôzne nastavenia v dvoch configoch ide to dobré. Ale keď v druhom chcem prekryť nastavenia v prvom tak to nefunguje dobre :/

pekelnik
Člen | 462
+
0
-

Zdar Voloději :) https://forum.nette.org/…nich-souboru?…

Kurva drát, to snad nejni ani možný jak se to tady hemží!

Editoval pekelnik (22. 1. 2010 23:49)

Cifro
Člen | 245
+
0
-

:-D

volda
Člen | 9
+
0
-

Super diky… juknu na to…
Jinak pekelniku zdar!!! Tebe jsem tu necekal :P