From d3f1e56a577c68a67bc8f5479f1cd24e6954c2f8 Mon Sep 17 00:00:00 2001 From: David Grudl Date: Sat, 30 Nov 2024 00:57:01 +0100 Subject: [PATCH] wip --- application/cs/bootstrap.texy | 20 ++++++++++++++++++-- nette/cs/troubleshooting.texy | 11 +++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/application/cs/bootstrap.texy b/application/cs/bootstrap.texy index 6357fe0d4d..19369531d6 100644 --- a/application/cs/bootstrap.texy +++ b/application/cs/bootstrap.texy @@ -84,9 +84,25 @@ 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()`: diff --git a/nette/cs/troubleshooting.texy b/nette/cs/troubleshooting.texy index 5e4973f910..69a5bcb135 100644 --- a/nette/cs/troubleshooting.texy +++ b/nette/cs/troubleshooting.texy @@ -32,6 +32,17 @@ Chyba 404, nefunguje routování Když všechny stránky (kromě homepage) vrací chybu 404, vypadá to na problém s konfigurací serveru pro [hezká URL |#Jak nastavit server pro hezká URL?]. +Změny v šablonách nebo konfiguraci se neprojevují +------------------------------------------------- +"Upravil jsem šablonu nebo konfiguraci, ale web stále zobrazuje starou verzi." Toto chování nastává v [produkčním režimu |application:bootstrap#Vývojářský vs produkční režim], který z důvodu výkonu nekontroluje změny v souborech a udržuje jednou vygenerovanou cache. + +Abyste nemuseli po každé úpravě ručně mazat cache, povolte si vývojářský režim pro vaši IP adresu v souboru `Bootstrap.php`: + +```php +$this->configurator->setDebugMode('vase.ip.adresa'); +``` + + Jak vypnout cache během vývoje? ------------------------------- Nette je chytré a nemusíte v něm vypínat kešování. Při vývoji totiž automaticky aktualizuje cache při každé změně šablony nebo konfigurace DI kontejneru. Vývojový režimu se navíc zapíná autodetekcí, takže obvykle není potřeba konfigurovat nic, [nebo jen IP adresu |application:bootstrap#vyvojarsky-vs-produkcni-rezim].