Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
dg committed Nov 30, 2024
1 parent d280c3e commit d3f1e56
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 2 deletions.
20 changes: 18 additions & 2 deletions application/cs/bootstrap.texy
Original file line number Diff line number Diff line change
Expand Up @@ -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()`:

Expand Down
11 changes: 11 additions & 0 deletions nette/cs/troubleshooting.texy
Original file line number Diff line number Diff line change
Expand Up @@ -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].
Expand Down

0 comments on commit d3f1e56

Please sign in to comment.