La struttura di un progetto Laravel

Posted on 4th Feb 2017 12:08:13 in Laravel

struttura default laravel

Le directory

app: è la directory core dell'applicazione;

bootstrap: contiene files per l'avvio del framework e configurano l'autoloading. Contiene anche una directory cache contenente files generati dal framework, con lo scopo di ottimizzare le prestazioni.

config: contiene files di configurazione, è bene familiarizzare con ognuno di questi file.

database: contiene le migration e seed. Le migration sono una sorta di version control del database. Consentono di modificare e condividere lo schema del DB. Le seeds sono un mezzo per poter popolare il DB con dati di Test.

public: è la directory che contiene il file index.php (almeno nella struttura di default) ed è un entry point per tutte le richieste. In questa directory si trovano anche i file javascript, css e immagini.

resources: contiene tutte le "viste" (i file che contengono Html serviti dal server), tutti i file per le lingue, e file non compilati javascript / LESS.

routes: contiene le definizioni delle routes dell'applicazione. Troviamo 3 files di routes di default: web.php, api.php e console.php

storage: contiene i file compilati dei tabplate Blade (le views), file di sessione, file di cache, file di log e altri file generati dal framework. 

tests: directory usata per scrivere i propri test case.

vendor: contiene le dipendenze di Composer.

I file

.env: è il file che contiene le configurazione dell'applicazione e sono proprie di ogni server / sviluppatore. Ad esempio definisce i parametri di connessione al database (host, nome DB, DB user e password).

.env.example: un esempio di configurazione dell'ambiente (un esempio del file .env).

.gitattributes: il progetto include file per il versioning con git. 

.gitignore: file versioning di git.

artisan: interfaccia per eseguire comandi da linea di comando. Per avere una lista di tutti i comandi disponibili digitare: php artisan list

composer.json: gestisce le dipendenze (con relative versioni).

composer.lock: questo file appare nel progetto appena dopo l'esecuzione del primo composer install. Il file riporta esattamente le versioni dei pacchetti installati. Riporta in maniera esatta quello che Composer ha installato.

package.json: dipendenze via NPM (node Package Manager).

phpunit.xml: è dove configuri le opzioni per i test case.

readme.md: una breve introduzione con riferimenti a sezioni della documentazione ufficiale.

server.php: permette di configurare un web server built-in senza la necessità di installare un Web Server.

webpack.mix.js: entry point per compilazioni di css, js.

yarn.lock: file autogenerato. Non modificare!