Scriviamo la prima applicazione!
Conosciamo insieme Nette Framework, creando un semplice blog con commenti. Andiamo!
Già dopo i primi due capitoli avremo il nostro blog funzionante e potremo pubblicare i nostri fantastici post, anche se le funzioni saranno per ora piuttosto limitate. Dovresti leggere anche i capitoli successivi, dove programmeremo l'aggiunta di commenti, la modifica degli articoli e infine metteremo in sicurezza il blog.
Questo tutorial presuppone che tu abbia letto la pagina Installazione e preparato con successo gli strumenti necessari. Presuppone inoltre che tu comprenda la programmazione orientata agli oggetti in PHP.
Utilizza PHP 8.1 o versioni successive. L'applicazione completa è disponibile su GitHub.
Pagina di benvenuto
Iniziamo creando un nuovo progetto nella directory nette-blog
:
composer create-project nette/web-project nette-blog
A questo punto, la pagina iniziale del Web Project dovrebbe già funzionare. Proviamolo aprendo il browser al seguente indirizzo URL:
http://localhost/nette-blog/www/
e vedremo la pagina iniziale di Nette Framework:

L'applicazione funziona e puoi iniziare a fare modifiche.
Se si è verificato un problema, prova questi pochi suggerimenti.
Contenuto del Web Project
Il Web Project ha la seguente struttura:
nette-blog/ ├── app/ ← directory dell'applicazione │ ├── Core/ ← classi di base necessarie per il funzionamento │ ├── Presentation/ ← presenter, template & co. │ │ └── Home/ ← directory del presenter Home │ └── Bootstrap.php ← classe di avvio Bootstrap ├── bin/ ← script eseguiti dalla riga di comando ├── config/ ← file di configurazione ├── log/ ← log degli errori ├── temp/ ← file temporanei, cache, … ├── vendor/ ← librerie installate da Composer │ └── autoload.php ← autoloading di tutti i pacchetti installati └── www/ ← directory pubblica - l'unica accessibile dal browser └── index.php ← file iniziale con cui si avvia l'applicazione
La directory www/
è destinata all'archiviazione di immagini, file JavaScript, stili CSS e altri file accessibili
pubblicamente. Solo questa directory è accessibile da Internet, quindi imposta la directory radice della tua applicazione in modo
che punti proprio qui (puoi farlo nella configurazione di Apache o nginx, ma facciamolo più tardi, ora non è importante).
La cartella più importante per noi è app/
. Qui troviamo il file Bootstrap.php
, che contiene la
classe che serve a caricare l'intero framework e a configurare l'applicazione. Qui si attiva l'autoloading, si imposta il debugger e
le route.
Pulizia
Il Web Project contiene una pagina iniziale, che cancelleremo prima di iniziare a programmare qualcosa. Quindi, senza timore,
sostituiamo il contenuto del file app/Presentation/Home/default.latte
con “Hello world!”.

Tracy (debugger)
Uno strumento estremamente importante per lo sviluppo è lo strumento di debug Tracy.
Prova a provocare un errore nel file app/Presentation/Home/HomePresenter.php
(ad esempio rimuovendo una parentesi
graffa nella definizione della classe HomePresenter) e guarda cosa succede. Apparirà una pagina di notifica che descrive l'errore
in modo comprensibile.

Tracy ci aiuterà enormemente quando cercheremo errori nell'applicazione. Nota anche la Tracy Bar fluttuante nell'angolo in basso a destra dello schermo, che contiene informazioni sull'esecuzione dell'applicazione.

In modalità produzione, Tracy è ovviamente disattivata e non mostra alcuna informazione sensibile. Tutti gli errori in questo
caso vengono salvati nella cartella log/
. Proviamolo. Nel file app/Bootstrap.php
, decommentiamo la riga
seguente e cambiamo il parametro della chiamata a false
, in modo che il codice appaia così:
...
$this->configurator->setDebugMode(false);
...
Dopo aver aggiornato la pagina, non vedremo più Tracy. Al suo posto verrà visualizzato un messaggio user-friendly:

Ora diamo un'occhiata alla directory log/
. Qui (nel file exception.log
) troveremo l'errore registrato
e anche la già nota pagina con il messaggio di errore (salvata come file HTML con un nome che inizia con
exception-
).
Commentiamo di nuovo la riga // $configurator->setDebugMode(false);
. Tracy abilita automaticamente la modalità
sviluppatore su localhost e la disabilita ovunque altrove.
Possiamo correggere l'errore che abbiamo creato e continuare a scrivere l'applicazione.
Invia un ringraziamento
Ti mostreremo un trucco che farà piacere agli autori open source. In modo semplice, dai una stella su GitHub alle librerie che il tuo progetto utilizza. Basta eseguire:
composer thanks
Provalo!