Nette Documentation Preview

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

.[perex]
Nette Application è il cuore del framework Nette e fornisce potenti strumenti per la creazione di moderne applicazioni web. Offre una serie di funzionalità eccezionali che semplificano notevolmente lo sviluppo e migliorano la sicurezza e la manutenibilità del codice.


Installazione
-------------

È possibile scaricare e installare la libreria utilizzando lo strumento [Composer|best-practices:composer]:

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


Perché scegliere Nette Application?
-----------------------------------

Nette è sempre stato un pioniere nel campo delle tecnologie web.

**Router bidirezionale:** Nette dispone di un sistema di routing avanzato, unico per la sua bidirezionalità: non solo traduce gli URL in azioni dell'applicazione, ma può anche generare indirizzi URL a ritroso. Ciò significa che:
- È possibile modificare in qualsiasi momento la struttura degli URL dell'intera applicazione senza dover modificare i template.
- Gli URL vengono automaticamente canonizzati, migliorando la SEO.
- Il routing è definito in un unico punto, non sparso nelle annotazioni.

**Componenti e segnali:** Il sistema di componenti integrato, ispirato a Delphi e React.js, è del tutto eccezionale tra i framework PHP:
- Permette di creare elementi UI riutilizzabili.
- Supporta la composizione gerarchica dei componenti.
- Offre un'elegante gestione delle request AJAX tramite segnali.
- Una ricca libreria di componenti pronti è disponibile su [Componette](https://componette.org).

**AJAX e snippet:** Nette ha introdotto un modo rivoluzionario di lavorare con AJAX già nel 2009, molto prima di soluzioni simili come Hotwire per Ruby on Rails o Symfony UX Turbo:
- Gli snippet consentono di aggiornare solo parti della pagina senza dover scrivere JavaScript.
- Integrazione automatica con il sistema dei componenti.
- Invalidazione intelligente di parti delle pagine.
- Quantità minima di dati trasferiti.

**Template intuitivi [Latte|latte:]:** Il sistema di template più sicuro per PHP con funzionalità avanzate:
- Protezione automatica contro XSS con escaping sensibile al contesto.
- Estensibilità tramite filtri, funzioni e tag personalizzati.
- Ereditarietà dei template e snippet per AJAX.
- Eccellente supporto per PHP 8.x con sistema di tipi.

**Dependency Injection:** Nette sfrutta appieno la Dependency Injection:
- Passaggio automatico delle dipendenze (autowiring).
- Configurazione tramite il chiaro formato NEON.
- Supporto per le factory di componenti.


Vantaggi principali
-------------------

- **Sicurezza**: Difesa automatica contro [vulnerabilità|nette:vulnerability-protection] come XSS, CSRF, ecc.
- **Produttività**: Meno codice da scrivere, più funzionalità grazie a un design intelligente.
- **Debugging**: [Tracy debugger|tracy:] con pannello di routing.
- **Prestazioni**: Cache intelligente, lazy loading dei componenti.
- **Flessibilità**: Facile modifica degli URL anche dopo il completamento dell'applicazione.
- **Componenti**: Sistema unico di elementi UI riutilizzabili.
- **Moderno**: Pieno supporto per PHP 8.4+ e sistema di tipi.


Per iniziare
------------

1. [Come funzionano le applicazioni? |how-it-works] - Comprensione dell'architettura di base.
2. [Presenter |presenters] - Lavorare con i presenter e le azioni.
3. [Template |templates] - Creazione di template in Latte.
4. [Routing |routing] - Configurazione degli indirizzi URL.
5. [Componenti interattivi |components] - Utilizzo del sistema di componenti.


Compatibilità con PHP
---------------------

| versione               | compatibile con 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

Si applica all'ultima versione patch.

Nette Application

Nette Application è il cuore del framework Nette e fornisce potenti strumenti per la creazione di moderne applicazioni web. Offre una serie di funzionalità eccezionali che semplificano notevolmente lo sviluppo e migliorano la sicurezza e la manutenibilità del codice.

Installazione

È possibile scaricare e installare la libreria utilizzando lo strumento Composer:

composer require nette/application

Perché scegliere Nette Application?

Nette è sempre stato un pioniere nel campo delle tecnologie web.

Router bidirezionale: Nette dispone di un sistema di routing avanzato, unico per la sua bidirezionalità: non solo traduce gli URL in azioni dell'applicazione, ma può anche generare indirizzi URL a ritroso. Ciò significa che:

  • È possibile modificare in qualsiasi momento la struttura degli URL dell'intera applicazione senza dover modificare i template.
  • Gli URL vengono automaticamente canonizzati, migliorando la SEO.
  • Il routing è definito in un unico punto, non sparso nelle annotazioni.

Componenti e segnali: Il sistema di componenti integrato, ispirato a Delphi e React.js, è del tutto eccezionale tra i framework PHP:

  • Permette di creare elementi UI riutilizzabili.
  • Supporta la composizione gerarchica dei componenti.
  • Offre un'elegante gestione delle request AJAX tramite segnali.
  • Una ricca libreria di componenti pronti è disponibile su Componette.

AJAX e snippet: Nette ha introdotto un modo rivoluzionario di lavorare con AJAX già nel 2009, molto prima di soluzioni simili come Hotwire per Ruby on Rails o Symfony UX Turbo:

  • Gli snippet consentono di aggiornare solo parti della pagina senza dover scrivere JavaScript.
  • Integrazione automatica con il sistema dei componenti.
  • Invalidazione intelligente di parti delle pagine.
  • Quantità minima di dati trasferiti.

Template intuitivi Latte: Il sistema di template più sicuro per PHP con funzionalità avanzate:

  • Protezione automatica contro XSS con escaping sensibile al contesto.
  • Estensibilità tramite filtri, funzioni e tag personalizzati.
  • Ereditarietà dei template e snippet per AJAX.
  • Eccellente supporto per PHP 8.x con sistema di tipi.

Dependency Injection: Nette sfrutta appieno la Dependency Injection:

  • Passaggio automatico delle dipendenze (autowiring).
  • Configurazione tramite il chiaro formato NEON.
  • Supporto per le factory di componenti.

Vantaggi principali

  • Sicurezza: Difesa automatica contro vulnerabilità come XSS, CSRF, ecc.
  • Produttività: Meno codice da scrivere, più funzionalità grazie a un design intelligente.
  • Debugging: Tracy debugger con pannello di routing.
  • Prestazioni: Cache intelligente, lazy loading dei componenti.
  • Flessibilità: Facile modifica degli URL anche dopo il completamento dell'applicazione.
  • Componenti: Sistema unico di elementi UI riutilizzabili.
  • Moderno: Pieno supporto per PHP 8.4+ e sistema di tipi.

Per iniziare

  1. Come funzionano le applicazioni? – Comprensione dell'architettura di base.
  2. Presenter – Lavorare con i presenter e le azioni.
  3. Template – Creazione di template in Latte.
  4. Routing – Configurazione degli indirizzi URL.
  5. Componenti interattivi – Utilizzo del sistema di componenti.

Compatibilità con PHP

versione compatibile con 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

Si applica all'ultima versione patch.