Nette Documentation Preview

syntax
Nette Application
*****************

.[perex]
Nette Application je jádrem frameworku Nette, které přináší výkonné nástroje pro vytváření moderních webových aplikací. Nabízí řadu výjimečných vlastností, které výrazně usnadňují vývoj a zlepšují bezpečnost i udržovatelnost kódu.


Instalace
---------

Knihovnu stáhnete a nainstalujete pomocí nástroje [Composer|best-practices:composer]:

```shell
composer require nette/application
```


Proč zvolit Nette Application?
------------------------------

Nette bylo vždy průkopníkem v oblasti webových technologií.

**Obousměrný router:** Nette disponuje pokročilým routovacím systémem, který je unikátní svou obousměrností - nejen že překládá URL na akce aplikace, ale také dokáže zpětně generovat URL adresy. To znamená, že:
- Můžete kdykoliv změnit strukturu URL celé aplikace bez nutnosti upravovat šablony
- URL jsou automaticky kanonizovány, což zlepšuje SEO
- Routování je definováno na jednom místě, nikoliv roztroušeně v anotacích

**Komponenty a signály:** Vestavěný komponentový systém inspirovaný Delphi a React.js je mezi PHP frameworky zcela výjimečný:
- Umožňuje vytvářet znovupoužitelné UI prvky
- Podporuje hierarchické skládání komponent
- Nabízí elegantní zpracování AJAX požadavků pomocí signálů
- Bohatá knihovna hotových komponent na [Componette](https://componette.org)

**AJAX a snippety:** Nette představilo revoluční způsob práce s AJAXem již v roce 2009, dlouho před podobnými řešeními jako Hotwire pro Ruby on Rails nebo Symfony UX Turbo:
- Snippety umožňují aktualizovat jen části stránky bez nutnosti psát JavaScript
- Automatická integrace s komponentovým systémem
- Chytrá invalidace částí stránek
- Minimální množství přenášených dat

**Intuitivní šablony [Latte|latte:]:** Nejbezpečnější šablonovací systém pro PHP s pokročilými funkcemi:
- Automatická ochrana proti XSS s kontextově citlivým escapováním
- Rozšiřitelnost pomocí vlastních filtrů, funkcí a značek
- Dědičnost šablon a snippety pro AJAX
- Vynikající podpora PHP 8.x s typovým systémem

**Dependency Injection:** Nette plně využívá Dependency Injection:
- Automatické předávání závislostí (autowiring)
- Konfigurace pomocí přehledného NEON formátu
- Podpora pro továrny na komponenty


Hlavní výhody
-------------

- **Bezpečnost**: Automatická obrana proti [zranitelnostem|nette:vulnerability-protection] jako XSS, CSRF, atd.
- **Produktivita**: Méně psaní, více funkcí díky chytrému návrhu
- **Debugging**: [Tracy debugger|tracy:] s routovacím panelem
- **Výkon**: Chytrá cache, lazy loading komponent
- **Flexibilita**: Snadná úprava URL i po dokončení aplikace
- **Komponenty**: Unikátní systém znovupoužitelných UI prvků
- **Moderní**: Plná podpora PHP 8.4+ a typového systému


Začínáme
--------

1. [Jak fungují aplikace? |how-it-works] - Pochopení základní architektury
2. [Presentery |presenters] - Práce s presentery a akcemi
3. [Šablony |templates] - Tvorba šablon v Latte
4. [Routování |routing] - Konfigurace URL adres
5. [Interaktivní komponenty |components] - Využití komponentového systému


Kompatbility s PHP
------------------

| verze     | kompatibilní s PHP
|-----------|-------------------
| Nette Application 4.0 | PHP 8.1 – 8.4
| Nette Application 3.2 | PHP 8.1 – 8.4
| Nette Application 3.1 | PHP 7.2 – 8.3
| Nette Application 3.0 | PHP 7.1 – 8.0
| Nette Application 2.4 | PHP 5.6 – 8.0

Platí pro poslední patch verze.

Nette Application

Nette Application je jádrem frameworku Nette, které přináší výkonné nástroje pro vytváření moderních webových aplikací. Nabízí řadu výjimečných vlastností, které výrazně usnadňují vývoj a zlepšují bezpečnost i udržovatelnost kódu.

Instalace

Knihovnu stáhnete a nainstalujete pomocí nástroje Composer:

composer require nette/application

Proč zvolit Nette Application?

Nette bylo vždy průkopníkem v oblasti webových technologií.

Obousměrný router: Nette disponuje pokročilým routovacím systémem, který je unikátní svou obousměrností – nejen že překládá URL na akce aplikace, ale také dokáže zpětně generovat URL adresy. To znamená, že:

  • Můžete kdykoliv změnit strukturu URL celé aplikace bez nutnosti upravovat šablony
  • URL jsou automaticky kanonizovány, což zlepšuje SEO
  • Routování je definováno na jednom místě, nikoliv roztroušeně v anotacích

Komponenty a signály: Vestavěný komponentový systém inspirovaný Delphi a React.js je mezi PHP frameworky zcela výjimečný:

  • Umožňuje vytvářet znovupoužitelné UI prvky
  • Podporuje hierarchické skládání komponent
  • Nabízí elegantní zpracování AJAX požadavků pomocí signálů
  • Bohatá knihovna hotových komponent na Componette

AJAX a snippety: Nette představilo revoluční způsob práce s AJAXem již v roce 2009, dlouho před podobnými řešeními jako Hotwire pro Ruby on Rails nebo Symfony UX Turbo:

  • Snippety umožňují aktualizovat jen části stránky bez nutnosti psát JavaScript
  • Automatická integrace s komponentovým systémem
  • Chytrá invalidace částí stránek
  • Minimální množství přenášených dat

Intuitivní šablony Latte: Nejbezpečnější šablonovací systém pro PHP s pokročilými funkcemi:

  • Automatická ochrana proti XSS s kontextově citlivým escapováním
  • Rozšiřitelnost pomocí vlastních filtrů, funkcí a značek
  • Dědičnost šablon a snippety pro AJAX
  • Vynikající podpora PHP 8.x s typovým systémem

Dependency Injection: Nette plně využívá Dependency Injection:

  • Automatické předávání závislostí (autowiring)
  • Konfigurace pomocí přehledného NEON formátu
  • Podpora pro továrny na komponenty

Hlavní výhody

  • Bezpečnost: Automatická obrana proti zranitelnostem jako XSS, CSRF, atd.
  • Produktivita: Méně psaní, více funkcí díky chytrému návrhu
  • Debugging: Tracy debugger s routovacím panelem
  • Výkon: Chytrá cache, lazy loading komponent
  • Flexibilita: Snadná úprava URL i po dokončení aplikace
  • Komponenty: Unikátní systém znovupoužitelných UI prvků
  • Moderní: Plná podpora PHP 8.4+ a typového systému

Začínáme

  1. Jak fungují aplikace? – Pochopení základní architektury
  2. Presentery – Práce s presentery a akcemi
  3. Šablony – Tvorba šablon v Latte
  4. Routování – Konfigurace URL adres
  5. Interaktivní komponenty – Využití komponentového systému

Kompatbility s PHP

verze kompatibilní s PHP
Nette Application 4.0 PHP 8.1 – 8.4
Nette Application 3.2 PHP 8.1 – 8.4
Nette Application 3.1 PHP 7.2 – 8.3
Nette Application 3.0 PHP 7.1 – 8.0
Nette Application 2.4 PHP 5.6 – 8.0

Platí pro poslední patch verze.