Nette Documentation Preview

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

.[perex]
Nette Application to rdzeń frameworka Nette, dostarczający potężne narzędzia do tworzenia nowoczesnych aplikacji webowych. Oferuje szereg wyjątkowych możliwości, które znacząco upraszczają tworzenie aplikacji oraz poprawiają bezpieczeństwo kodu i łatwość jego utrzymania.


Instalacja
----------

Bibliotekę pobierzesz i zainstalujesz za pomocą [Composera|best-practices:composer]:

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


Dlaczego wybrać Nette Application?
----------------------------------

Nette od zawsze było pionierem technologii webowych.

**Dwukierunkowy router:** Nette dysponuje zaawansowanym systemem routingu, unikalnym dzięki swojej dwukierunkowości - nie tylko tłumaczy URL na akcje aplikacji, ale potrafi też generować URL w drugą stronę. Oznacza to, że:
- strukturę URL całej aplikacji możesz zmienić w dowolnej chwili bez konieczności modyfikowania szablonów
- URL są automatycznie kanonizowane, co poprawia SEO
- routing definiowany jest w jednym miejscu, a nie rozproszony w adnotacjach

**Komponenty i sygnały:** Wbudowany system komponentów zainspirowany Delphi i React.js jest unikalny wśród frameworków PHP:
- pozwala tworzyć elementy UI wielokrotnego użytku
- wspiera hierarchiczne składanie komponentów
- oferuje eleganckie obsługiwanie żądań AJAX za pomocą sygnałów
- bogata biblioteka gotowych komponentów na [Componette](https://componette.org)

**AJAX i snippety:** Nette wprowadziło rewolucyjny sposób pracy z AJAX-em już w 2009 roku, na długo przed podobnymi rozwiązaniami, jak Hotwire dla Ruby on Rails czy Symfony UX Turbo:
- snippety pozwalają aktualizować tylko części strony bez konieczności pisania JavaScriptu
- automatyczna integracja z systemem komponentów
- inteligentne unieważnianie sekcji strony
- minimalny transfer danych

**Intuicyjne szablony [Latte|latte:]:** Najbezpieczniejszy system szablonów dla PHP z zaawansowanymi możliwościami:
- automatyczna ochrona przed XSS z escapowaniem zależnym od kontekstu
- rozszerzalny o własne filtry, funkcje i tagi
- dziedziczenie szablonów i snippety dla AJAX-a
- doskonałe wsparcie dla PHP 8.x wraz z systemem typów

**Wstrzykiwanie zależności:** Nette w pełni korzysta z wstrzykiwania zależności:
- automatyczne przekazywanie zależności (autowiring)
- konfiguracja w przejrzystym formacie NEON
- wsparcie dla fabryk komponentów


Główne korzyści
---------------

- **Bezpieczeństwo**: automatyczna ochrona przed [podatnościami|nette:vulnerability-protection], takimi jak XSS, CSRF itd.
- **Produktywność**: mniej pisania, więcej możliwości dzięki przemyślanej konstrukcji
- **Debugowanie**: [debugger Tracy|tracy:] z panelem routingu
- **Wydajność**: inteligentny cache, leniwe ładowanie komponentów
- **Elastyczność**: łatwa zmiana URL nawet po ukończeniu aplikacji
- **Komponenty**: unikalny system elementów UI wielokrotnego użytku
- **Nowoczesność**: pełne wsparcie dla PHP 8.3+ i systemu typów


Pierwsze kroki
--------------

1. [Jak działają aplikacje? |how-it-works] - zrozumienie podstawowej architektury
2. [Presentery |presenters] - praca z presenterami i akcjami
3. [Szablony |templates] - tworzenie szablonów w Latte
4. [Routing |routing] - konfigurowanie adresów URL
5. [Komponenty interaktywne |components] - korzystanie z systemu komponentów


Zgodność z PHP
--------------

| wersja                | zgodna z PHP
|-----------------------|-------------------
| Nette Application 3.3 | PHP 8.3 - 8.5
| Nette Application 3.2 | PHP 8.1 - 8.5
| 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

Dotyczy najnowszych wersji patch.

Nette Application

Nette Application to rdzeń frameworka Nette, dostarczający potężne narzędzia do tworzenia nowoczesnych aplikacji webowych. Oferuje szereg wyjątkowych możliwości, które znacząco upraszczają tworzenie aplikacji oraz poprawiają bezpieczeństwo kodu i łatwość jego utrzymania.

Instalacja

Bibliotekę pobierzesz i zainstalujesz za pomocą Composera:

composer require nette/application

Dlaczego wybrać Nette Application?

Nette od zawsze było pionierem technologii webowych.

Dwukierunkowy router: Nette dysponuje zaawansowanym systemem routingu, unikalnym dzięki swojej dwukierunkowości – nie tylko tłumaczy URL na akcje aplikacji, ale potrafi też generować URL w drugą stronę. Oznacza to, że:

  • strukturę URL całej aplikacji możesz zmienić w dowolnej chwili bez konieczności modyfikowania szablonów
  • URL są automatycznie kanonizowane, co poprawia SEO
  • routing definiowany jest w jednym miejscu, a nie rozproszony w adnotacjach

Komponenty i sygnały: Wbudowany system komponentów zainspirowany Delphi i React.js jest unikalny wśród frameworków PHP:

  • pozwala tworzyć elementy UI wielokrotnego użytku
  • wspiera hierarchiczne składanie komponentów
  • oferuje eleganckie obsługiwanie żądań AJAX za pomocą sygnałów
  • bogata biblioteka gotowych komponentów na Componette

AJAX i snippety: Nette wprowadziło rewolucyjny sposób pracy z AJAX-em już w 2009 roku, na długo przed podobnymi rozwiązaniami, jak Hotwire dla Ruby on Rails czy Symfony UX Turbo:

  • snippety pozwalają aktualizować tylko części strony bez konieczności pisania JavaScriptu
  • automatyczna integracja z systemem komponentów
  • inteligentne unieważnianie sekcji strony
  • minimalny transfer danych

Intuicyjne szablony Latte: Najbezpieczniejszy system szablonów dla PHP z zaawansowanymi możliwościami:

  • automatyczna ochrona przed XSS z escapowaniem zależnym od kontekstu
  • rozszerzalny o własne filtry, funkcje i tagi
  • dziedziczenie szablonów i snippety dla AJAX-a
  • doskonałe wsparcie dla PHP 8.x wraz z systemem typów

Wstrzykiwanie zależności: Nette w pełni korzysta z wstrzykiwania zależności:

  • automatyczne przekazywanie zależności (autowiring)
  • konfiguracja w przejrzystym formacie NEON
  • wsparcie dla fabryk komponentów

Główne korzyści

  • Bezpieczeństwo: automatyczna ochrona przed podatnościami, takimi jak XSS, CSRF itd.
  • Produktywność: mniej pisania, więcej możliwości dzięki przemyślanej konstrukcji
  • Debugowanie: debugger Tracy z panelem routingu
  • Wydajność: inteligentny cache, leniwe ładowanie komponentów
  • Elastyczność: łatwa zmiana URL nawet po ukończeniu aplikacji
  • Komponenty: unikalny system elementów UI wielokrotnego użytku
  • Nowoczesność: pełne wsparcie dla PHP 8.3+ i systemu typów

Pierwsze kroki

  1. Jak działają aplikacje? – zrozumienie podstawowej architektury
  2. Presentery – praca z presenterami i akcjami
  3. Szablony – tworzenie szablonów w Latte
  4. Routing – konfigurowanie adresów URL
  5. Komponenty interaktywne – korzystanie z systemu komponentów

Zgodność z PHP

wersja zgodna z PHP
Nette Application 3.3 PHP 8.3 – 8.5
Nette Application 3.2 PHP 8.1 – 8.5
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

Dotyczy najnowszych wersji patch.