STRUTTURA DIRECTORY IN LARAVEL

Dopo aver creato il nostro progetto, mediante il comando:

 composer create-project --prefer-dist laravel/laravel nome-progetto 

spostandoci all’interno della cartella nome-progetto (cd nome-progetto), troveremo una struttura simile alla seguente:

Struttura directory in laravel

La struttura che troviamo all’interno della cartella della nostra applicazione non è rigida e può essere personalizzata dall’utente.

Passiamo alla descrizione delle principali directory predefinite:

ROOT Directory (app)

La directory app contiene il nucleo del codice dell’applicazione, quasi tutte le classi della nostra applicazione si trovano al suo interno.

directory app

Bootstrap  Directory

Questa directory contiene lo script app.php che inizializza il framework Laravel, all’interno di bootstrap trovate anche la directory cache che contiene i files generati da Laravel per migliorare le prestazioni.

Config directory

La directory config contiene i files di configurazione dell’applicazione.

Database Directory

In questa directory si trovano i files cosiddetti di migrazione (migrations files), che servono a creare la struttura iniziale del database e via via le modifiche necessarie al suo aggiornamento, una sorta di controllo di versione del database.

Sono presenti anche i files di seeds che popolano le tabelle del database, aggiungendo righe di dati. Inoltre, se si usa SQLite è qui che bisogna creare il file di database.

Public Directory

All’interno della cartella public troviamo il file index.php che rappresenta l’entry point della nostra applicazione e gestisce tutte le request. In questa directory sono collocati anche gli assets dell’applicazione (immagini, file css e script javascript)

Resources Directory

Questa è la cartella che ospiterà le views (viste), gli assets da compilare (file LESS, SASS, javascript) e i file della lingua.

Routes Directory

In questa directory troviamo due file importantissimi web.php e api.php.

nel file web.php troviamo tutti i percorsi della nostra applicazione, in pratica gli url che digiteremo sulla barra degli indirizzi del browser e ai quali sarà associata una sessione.

Il file api.php conterrà, invece, i percorsi cosiddetti stateless che non gestiscono la sessione e per i quali se è necessaria l’autenticazione la si deve gestire mediante token. Spesso questo file viene utilizzato dalla nostra applicazione per gestire web services RESTful.

Altri due file presenti in questa cartella sono console.php e channels.php.

Storage Directory

In questa cartella troveremo i file che l’utente o l’applicazione genereranno a runtime:

file di cache, file compilati, file di log e gli upload dell’utente.

In particolare, all’interno di storage/app/public troveremo i file caricati dall’utente (immagini del profilo e altro), mediante un comando da console (php artisan storage:link) sarà possibile creare un link simbolico public/storage all’interno della cartella public (vedremo meglio nei prossimi articoli).

TEST Directory

In questa cartella verranno ospitati i file contenenti i test automatizzati dell’applicazione.

Vendor Directory

Qui troveremo tutte le dipendenze Composer.

All’interno della cartella principale app, risiedono altre cartelle particolarmente importanti:

console, broadcasting, events, exceptions,http, listeners, mail, notifications, providers ecc..

Alcune di queste non sono presenti da subito, ma vengono create all’occorrenza mediante comandi php artisan.

Nei prossimi articoli approfondiremo e chiariremo il significato di queste cartelle

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *