Nette Documentation Preview

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

.[perex]
Nette Application è il cuore del framework Nette e offre strumenti potenti per creare applicazioni web moderne. Mette a disposizione una serie di funzionalità eccezionali, che semplificano notevolmente lo sviluppo e migliorano la sicurezza e la manutenibilità del codice.


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

Scaricate e installate la libreria con [Composer|best-practices:composer]:

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


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

Nette è sempre stata pioniera nelle tecnologie web.

**Router bidirezionale:** Nette dispone di un sistema di routing avanzato, unico nella sua bidirezionalità: non solo traduce gli URL in azioni dell'applicazione, ma sa anche generare gli URL in senso inverso. Questo significa che:
- potete cambiare in qualsiasi momento la struttura degli URL dell'intera applicazione senza dover modificare i template
- gli URL vengono canonizzati automaticamente, il che migliora 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 a React.js, è unico tra i framework PHP:
- permette di creare elementi di interfaccia riutilizzabili
- supporta la composizione gerarchica dei componenti
- offre una gestione elegante delle richieste AJAX tramite i segnali
- ricca libreria di componenti già pronti su [Componette](https://componette.org)

**AJAX e snippet:** nel 2009 Nette ha introdotto un modo rivoluzionario di lavorare con AJAX, molto prima di soluzioni simili come Hotwire per Ruby on Rails o Symfony UX Turbo:
- gli snippet permettono di aggiornare solo parti della pagina senza dover scrivere JavaScript
- integrazione automatica con il sistema di componenti
- invalidazione intelligente delle sezioni della pagina
- trasferimento minimo di dati

**Template [Latte|latte:] intuitivi:** il sistema di template più sicuro per PHP, con funzionalità avanzate:
- protezione automatica contro l'XSS con escaping sensibile al contesto
- estensibile con filtri, funzioni e tag personalizzati
- ereditarietà dei template e snippet per AJAX
- ottimo supporto di PHP 8.x e del sistema di tipi

**Dependency Injection:** Nette sfrutta pienamente la dependency injection:
- passaggio automatico delle dipendenze (autowiring)
- configurazione nel chiaro formato NEON
- supporto per le factory dei componenti


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

- **Sicurezza**: protezione automatica contro le [vulnerabilità|nette:vulnerability-protection] come XSS, CSRF e simili
- **Produttività**: meno codice da scrivere e più funzionalità, grazie a una progettazione intelligente
- **Debugging**: il [debugger Tracy|tracy:] con il pannello del routing
- **Prestazioni**: cache intelligente, caricamento pigro dei componenti
- **Flessibilità**: modifica semplice degli URL anche a lavoro finito
- **Componenti**: un sistema unico di elementi di interfaccia riutilizzabili
- **Modernità**: pieno supporto di PHP 8.3+ e del sistema di tipi


Primi passi
-----------

1. [Come funzionano le applicazioni? |how-it-works] - comprendere l'architettura di base
2. [Presenter |presenters] - lavorare con i presenter e le azioni
3. [Template |templates] - creare template in Latte
4. [Routing |routing] - configurare gli indirizzi URL
5. [Componenti interattivi |components] - usare il sistema di componenti


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

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

Vale per le ultime versioni patch.

Nette Application

Nette Application è il cuore del framework Nette e offre strumenti potenti per creare applicazioni web moderne. Mette a disposizione una serie di funzionalità eccezionali, che semplificano notevolmente lo sviluppo e migliorano la sicurezza e la manutenibilità del codice.

Installazione

Scaricate e installate la libreria con Composer:

composer require nette/application

Perché scegliere Nette Application?

Nette è sempre stata pioniera nelle tecnologie web.

Router bidirezionale: Nette dispone di un sistema di routing avanzato, unico nella sua bidirezionalità: non solo traduce gli URL in azioni dell'applicazione, ma sa anche generare gli URL in senso inverso. Questo significa che:

  • potete cambiare in qualsiasi momento la struttura degli URL dell'intera applicazione senza dover modificare i template
  • gli URL vengono canonizzati automaticamente, il che migliora 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 a React.js, è unico tra i framework PHP:

  • permette di creare elementi di interfaccia riutilizzabili
  • supporta la composizione gerarchica dei componenti
  • offre una gestione elegante delle richieste AJAX tramite i segnali
  • ricca libreria di componenti già pronti su Componette

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

  • gli snippet permettono di aggiornare solo parti della pagina senza dover scrivere JavaScript
  • integrazione automatica con il sistema di componenti
  • invalidazione intelligente delle sezioni della pagina
  • trasferimento minimo di dati

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

  • protezione automatica contro l'XSS con escaping sensibile al contesto
  • estensibile con filtri, funzioni e tag personalizzati
  • ereditarietà dei template e snippet per AJAX
  • ottimo supporto di PHP 8.x e del sistema di tipi

Dependency Injection: Nette sfrutta pienamente la dependency injection:

  • passaggio automatico delle dipendenze (autowiring)
  • configurazione nel chiaro formato NEON
  • supporto per le factory dei componenti

Vantaggi principali

  • Sicurezza: protezione automatica contro le vulnerabilità come XSS, CSRF e simili
  • Produttività: meno codice da scrivere e più funzionalità, grazie a una progettazione intelligente
  • Debugging: il debugger Tracy con il pannello del routing
  • Prestazioni: cache intelligente, caricamento pigro dei componenti
  • Flessibilità: modifica semplice degli URL anche a lavoro finito
  • Componenti: un sistema unico di elementi di interfaccia riutilizzabili
  • Modernità: pieno supporto di PHP 8.3+ e del sistema di tipi

Primi passi

  1. Come funzionano le applicazioni? – comprendere l'architettura di base
  2. Presenter – lavorare con i presenter e le azioni
  3. Template – creare template in Latte
  4. Routing – configurare gli indirizzi URL
  5. Componenti interattivi – usare il sistema di componenti

Compatibilità con PHP

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

Vale per le ultime versioni patch.