Crea la tua prima applicazione!
Imparate a conoscere Nette Framework creando un semplice blog con commenti. Iniziamo!
Dopo i primi due capitoli, avrete il vostro blog funzionante e sarete pronti a pubblicare i vostri fantastici post, anche se le funzionalità saranno piuttosto limitate dopo aver completato questi due capitoli. Per rendere le cose più piacevoli ai vostri utenti, dovreste leggere anche i capitoli successivi e continuare a migliorare la vostra applicazione.
Questa esercitazione presuppone che si sia completato il documento di installazione e che si sia configurato con successo lo strumento. Si presuppone inoltre che si conosca la programmazione orientata agli oggetti in PHP.
Utilizzare PHP 8.1 o successivo. L'applicazione completa è disponibile su GitHub.
La pagina di benvenuto
Iniziamo creando un nuovo progetto nella cartella nette-blog
:
composer create-project nette/web-project nette-blog
A questo punto, la pagina di benvenuto del progetto Web dovrebbe essere in esecuzione. Provatela aprendo il browser e accedendo al seguente URL:
http://localhost/nette-blog/www/
e dovreste vedere la pagina di benvenuto di Nette Framework:
L'applicazione funziona e ora potete iniziare a modificarla.
In caso di problemi, provate a seguire questi suggerimenti.
Contenuto del progetto Web
Il progetto Web ha la seguente struttura:
nette-blog/ ├── app/ ← application directory │ ├── Core/ ← classi di base necessarie │ ├── UI/ ← presentatori, modelli & co. │ │ └── Home/ ← Elenco presentatori Home │ └── Bootstrap.php ← booting class Bootstrap ├── bin/ ← scripts for the command line ├── config/ ← configuration files ├── log/ ← error logs ├── temp/ ← temporary files, cache, … ├── vendor/ ← libraries installed by Composer │ └── autoload.php ← autoloading of libraries installed by Composer └── www/ ← public folder - the only place accessible from browser └── index.php ← initial file that launches the application
La directory www
dovrebbe contenere immagini, JavaScript, CSS e altri file disponibili al pubblico. Questa è
l'unica directory direttamente accessibile dal browser, quindi si può puntare qui la directory principale del server web (si può
configurare in Apache, ma lo faremo più avanti perché non è importante in questo momento).
La directory più importante per voi è app/
. Vi si trova il file Bootstrap.php
, all'interno del
quale si trova una classe che carica il framework e configura l'applicazione. Attiva l'autocaricamento e imposta il debugger e
le rotte.
Pulire
Il progetto Web contiene una pagina di benvenuto, che possiamo rimuovere: cancellate pure il file
app/UI/Home/default.latte
e sostituitelo con il testo “Hello world!”.
Tracy (Debugger)
Uno strumento estremamente importante per lo sviluppo è un debugger chiamato Tracy.
Provate a fare qualche errore nel vostro file app/UI/Home/HomePresenter.php
(per esempio, rimuovendo una parentesi
graffa dalla definizione della classe HomePresenter) e vedete cosa succede. Verrà visualizzata una pagina a schermo rosso con una
descrizione comprensibile dell'errore.
Tracy vi aiuterà notevolmente nella ricerca degli errori. Notate anche la barra Tracy fluttuante nell'angolo in basso a destra, che vi informa su importanti dati di runtime.
In modalità di produzione, Tracy è ovviamente disattivato e non rivela alcuna informazione sensibile. Tutti gli errori
vengono invece salvati nella directory log/
. Provate. In app/Bootstrap.php
, trovate il seguente pezzo di
codice, decommentate la riga e cambiate il parametro della chiamata al metodo in false
, in modo che appaia come
questo:
...
$configurator->setDebugMode(false);
$configurator->enableTracy($rootDir . '/log');
...
Dopo l'aggiornamento della pagina web, la pagina a schermo rosso sarà sostituita dal messaggio di facile comprensione:
Ora, guardate nella directory log/
. Vi si trova il registro degli errori (nel file exception.log) e anche la
pagina con il messaggio di errore (salvata in un file HTML con un nome che inizia con exception
).
Commentare nuovamente la riga // $configurator->setDebugMode(false);
. Tracy abilita automaticamente la
modalità di sviluppo nell'ambiente localhost
e la disabilita altrove.
Ora possiamo risolvere il bug e continuare a progettare la nostra applicazione.
Inviare i ringraziamenti
Vi mostriamo un trucco che renderà felici gli autori open source. Potete facilmente assegnare una stella su GitHub alle librerie utilizzate dal vostro progetto. Basta eseguire:
composer thanks
Provate!