WhatsApp: +39 339 289 627 8
E-mail: info@creazione-siti-web.eu

 

Struttura delle cartelle di Laravel 12

 

In questo articolo vi spiego la struttura della cartella radice di Laravel 12.

Cartella ‘app’. Contiene il cuore del progetto: qui si trovano i controller, i model e altri componenti. Laravel è basato sul pattern MVC (Model, View, Controller). Quando andremo a creare i controller per il nostro progetto, dovremo inserirli in questa cartella, nella sottocartella ‘Http/’; lo stesso vale per i model. Accenno brevemente a questi concetti, che verranno comunque approfonditi nelle prossime lezioni.

Il Model è la parte che interagisce con il database. Il Controller gestisce le richieste (request) inviate dall’utente tramite il browser e decide quale Model utilizzare per recuperare i dati dal database. Una volta ottenuti, questi dati vengono passati alla View, dove vengono visualizzati.

Cartella ‘bootstrap’. Contiene i file che vengono eseguiti all’avvio di Laravel come framework. Quando si carica una pagina, questi file sono tra i primi a essere eseguiti.

Cartella ‘config’. Contiene le configurazioni dell’ambiente. Alcune di queste sono definite anche nel file ‘.env’: in pratica si sovrappongono. Cosa significa? Che i valori presenti nel file ‘.env’ sovrascrivono quelli definiti nei file della cartella ‘config’. Se una variabile non è definita nel ‘.env’, Laravel utilizza il valore presente nei file di configurazione.

Le configurazioni sono molte, ma tra le più importanti ci sono quelle per l’invio delle email e per la connessione al database.

La cartella ‘database’ contiene i file necessari per lavorare con il database. Include le migration, che permettono di creare le tabelle in modo automatico, e i seed, utilizzati per popolare le tabelle con dati fittizi. Questi ultimi sono molto utili durante lo sviluppo, per evitare di avere un database vuoto.

La cartella ‘public’ è la cartella pubblica: è quella a cui accedono direttamente gli utenti. Qui si trovano generalmente script, file di stile (CSS), immagini e altre risorse accessibili dal browser.

La cartella ‘resources’ contiene le risorse del sito. In particolare, qui si trovano le View, ovvero le viste a cui il Controller passa i dati recuperati dal database.

La cartella ‘routes’ contiene le rotte, cioè i percorsi URL che gli utenti utilizzano per accedere al sito. Le rotte indicano quale Controller e quale metodo devono essere utilizzati per gestire una richiesta.

La cartella ‘storage’ contiene i file generati dall’applicazione, come file caricati o log. Questa cartella può essere collegata alla cartella ‘public’, in modo da rendere accessibili alcune risorse (ad esempio le immagini salvate).

La cartella ‘tests’ serve per i test automatici (unit test), utili per verificare il corretto funzionamento del software e individuare eventuali bug.

La cartella ‘vendor’ contiene le dipendenze del progetto, ovvero i moduli e le librerie necessari al funzionamento di Laravel e alle funzionalità aggiuntive.

Per quanto riguarda i file, il più importante è ‘.env’, che contiene le variabili d’ambiente. Qui vengono configurati, ad esempio, i parametri di accesso al database (come MySQL) e le impostazioni per il server di posta utilizzato per l’invio delle email.

Con questo abbiamo concluso la panoramica della struttura della cartella radice di Laravel.