Nette Documentation Preview

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

.[perex]
Nette Application jest rdzeniem frameworka Nette, który dostarcza potężne narzędzia do tworzenia nowoczesnych aplikacji internetowych. Oferuje szereg wyjątkowych funkcji, które znacząco ułatwiają rozwój oraz poprawiają bezpieczeństwo i utrzymywalność kodu.


Instalacja
----------

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

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


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

Nette zawsze było pionierem w dziedzinie technologii internetowych.

**Dwukierunkowy router:** Nette dysponuje zaawansowanym systemem routingu, który jest unikalny dzięki swojej dwukierunkowości - nie tylko tłumaczy URL na akcje aplikacji, ale także potrafi generować adresy URL wstecz. Oznacza to, że:
- Możesz w dowolnym momencie zmienić strukturę URL całej aplikacji bez konieczności modyfikowania szablonów
- URL są automatycznie kanonizowane, co poprawia SEO
- Routing jest definiowany w jednym miejscu, a nie rozproszony w adnotacjach

**Komponenty i sygnały:** Wbudowany system komponentów inspirowany Delphi i React.js jest całkowicie wyjątkowy wśród frameworków PHP:
- Umożliwia tworzenie reużywalnych elementów UI
- Obsługuje hierarchiczne składanie komponentów
- Oferuje eleganckie przetwarzanie żą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 AJAXem już w 2009 roku, długo przed podobnymi rozwiązaniami jak Hotwire dla Ruby on Rails czy Symfony UX Turbo:
- Snippety umożliwiają aktualizację tylko części strony bez konieczności pisania JavaScriptu
- Automatyczna integracja z systemem komponentów
- Inteligentna inwalidacja części stron
- Minimalna ilość przesyłanych danych

**Intuicyjne szablony [Latte|latte:]:** Najbezpieczniejszy system szablonów dla PHP z zaawansowanymi funkcjami:
- Automatyczna ochrona przed XSS z kontekstowym escapowaniem
- Rozszerzalność za pomocą własnych filtrów, funkcji i znaczników
- Dziedziczenie szablonów i snippety dla AJAX
- Doskonałe wsparcie PHP 8.x z systemem typów

**Dependency Injection:** Nette w pełni wykorzystuje Dependency Injection:
- Automatyczne przekazywanie zależności (autowiring)
- Konfiguracja za pomocą przejrzystego formatu NEON
- Wsparcie dla fabryk komponentów


Główne zalety
-------------

- **Bezpieczeństwo**: Automatyczna obrona przed [podatnościami|nette:vulnerability-protection] takimi jak XSS, CSRF, itd.
- **Produktywność**: Mniej pisania, więcej funkcji dzięki inteligentnemu projektowi
- **Debugowanie**: [Debugger Tracy|tracy:] z panelem routingu
- **Wydajność**: Inteligentny cache, leniwe ładowanie komponentów
- **Elastyczność**: Łatwa modyfikacja URL nawet po zakończeniu aplikacji
- **Komponenty**: Unikalny system reużywalnych elementów UI
- **Nowoczesność**: Pełne wsparcie PHP 8.4+ i systemu typów


Zaczynamy
---------

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] - Konfiguracja adresów URL
5. [Komponenty interaktywne |components] - Wykorzystanie systemu komponentów


Kompatybilność z PHP
--------------------

| wersja     | kompatybilna z 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

Dotyczy ostatniej wersji patch.

Nette Application

Nette Application jest rdzeniem frameworka Nette, który dostarcza potężne narzędzia do tworzenia nowoczesnych aplikacji internetowych. Oferuje szereg wyjątkowych funkcji, które znacząco ułatwiają rozwój oraz poprawiają bezpieczeństwo i utrzymywalność kodu.

Instalacja

Bibliotekę pobierzesz i zainstalujesz za pomocą narzędzia Composer:

composer require nette/application

Dlaczego wybrać Nette Application?

Nette zawsze było pionierem w dziedzinie technologii internetowych.

Dwukierunkowy router: Nette dysponuje zaawansowanym systemem routingu, który jest unikalny dzięki swojej dwukierunkowości – nie tylko tłumaczy URL na akcje aplikacji, ale także potrafi generować adresy URL wstecz. Oznacza to, że:

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

Komponenty i sygnały: Wbudowany system komponentów inspirowany Delphi i React.js jest całkowicie wyjątkowy wśród frameworków PHP:

  • Umożliwia tworzenie reużywalnych elementów UI
  • Obsługuje hierarchiczne składanie komponentów
  • Oferuje eleganckie przetwarzanie żądań AJAX za pomocą sygnałów
  • Bogata biblioteka gotowych komponentów na Componette

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

  • Snippety umożliwiają aktualizację tylko części strony bez konieczności pisania JavaScriptu
  • Automatyczna integracja z systemem komponentów
  • Inteligentna inwalidacja części stron
  • Minimalna ilość przesyłanych danych

Intuicyjne szablony Latte: Najbezpieczniejszy system szablonów dla PHP z zaawansowanymi funkcjami:

  • Automatyczna ochrona przed XSS z kontekstowym escapowaniem
  • Rozszerzalność za pomocą własnych filtrów, funkcji i znaczników
  • Dziedziczenie szablonów i snippety dla AJAX
  • Doskonałe wsparcie PHP 8.x z systemem typów

Dependency Injection: Nette w pełni wykorzystuje Dependency Injection:

  • Automatyczne przekazywanie zależności (autowiring)
  • Konfiguracja za pomocą przejrzystego formatu NEON
  • Wsparcie dla fabryk komponentów

Główne zalety

  • Bezpieczeństwo: Automatyczna obrona przed podatnościami takimi jak XSS, CSRF, itd.
  • Produktywność: Mniej pisania, więcej funkcji dzięki inteligentnemu projektowi
  • Debugowanie: Debugger Tracy z panelem routingu
  • Wydajność: Inteligentny cache, leniwe ładowanie komponentów
  • Elastyczność: Łatwa modyfikacja URL nawet po zakończeniu aplikacji
  • Komponenty: Unikalny system reużywalnych elementów UI
  • Nowoczesność: Pełne wsparcie PHP 8.4+ i systemu typów

Zaczynamy

  1. Jak działają aplikacje? – Zrozumienie podstawowej architektury
  2. Presentery – Praca z presenterami i akcjami
  3. Szablony – Tworzenie szablonów w Latte
  4. Routing – Konfiguracja adresów URL
  5. Komponenty interaktywne – Wykorzystanie systemu komponentów

Kompatybilność z PHP

wersja kompatybilna z 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

Dotyczy ostatniej wersji patch.