Lokalni konfig
- volda
- Člen | 9
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
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
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
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
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
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.
- Cifro
- Člen | 245
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
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)