diff --git a/application/cs/bootstrap.texy b/application/cs/bootstrap.texy index 6357fe0d4d..7e7ab0ba34 100644 --- a/application/cs/bootstrap.texy +++ b/application/cs/bootstrap.texy @@ -84,9 +84,23 @@ Jak vidno, s nastavením prostředí a vytvořením dependency injection (DI) ko Vývojářský vs produkční režim ============================= -Nette rozlišuje dva základní režimy, ve kterých se požadavek vykoná: vývojářský a produkční. Vývojářský je zaměřen na maximální pohodlí programátora, zobrazuje se Tracy, automaticky se aktualizuje cache při změně šablon nebo konfigurace DI kontejneru, atd. Produkční je zaměřený na výkon a ostré nasazení, Tracy chyby pouze loguje a změny šablon a dalších souborů se netestují. +Nette se chová různě podle toho, zda běží na vývojářském nebo produkčním serveru: -Volba režimu se provádí autodetekcí, takže obvykle není potřeba nic konfigurovat nebo ručně přepínat. Režim je vývojářský tehdy, pokud je aplikace spuštěna na localhostu (tj. IP adresa `127.0.0.1` nebo `::1`) a není přitomna proxy (tj. její HTTP hlavička). Jinak běží v produkčním režimu. +🛠️ Vývojářský režim (Development): +- Zobrazuje Tracy debugbar s užitečnými informacemi (SQL dotazy, čas vykonání, použitá paměť) +- Při chybě zobrazí detailní chybovou stránku s voláním funkcí a obsahem proměnných +- Automaticky obnovuje cache při změně Latte šablon, úpravě konfiguračních souborů atd. + +🚀 Produkční režim (Production) +- Nezobrazuje žádné ladící informace, všechny chyby zapisuje do logu +- Při chybě zobrazí ErrorPresenter nebo obecnou stránku "Server Error" +- Cache se nikdy automaticky neobnovuje! +- Optimalizovaný pro rychlost a bezpečnost + +Volba režimu se provádí autodetekcí, takže obvykle není potřeba nic konfigurovat nebo ručně přepínat: + +- vývojářský režim: na localhostu (IP adresa `127.0.0.1` nebo `::1`) pokud není přítomná proxy (tj. její HTTP hlavička) +- produkční režim: všude jinde Pokud chceme vývojářský režim povolit i v dalších případech, například programátorům přistupujícím z konkrétní IP adresy, použijeme `setDebugMode()`: