Parte iniziale

Laravel è un framework per applicazioni web con una sintassi espressiva ed elegante. Un framework web fornisce una struttura e un punto di partenza per la creazione della tua applicazione, consentendoti di concentrarti sulla creazione di qualcosa di straordinario mentre noi ci occupiamo dei dettagli.

Laravel si impegna a offrire un’esperienza di sviluppo straordinaria, fornendo potenti funzionalità come l’iniezione delle dipendenze approfondita, un livello di astrazione del database espressivo, code e lavori pianificati, test unitari e di integrazione e altro ancora.

Che tu sia nuovo ai framework web PHP o che abbia anni di esperienza, Laravel è un framework che può crescere con te. Ti aiuteremo a fare i tuoi primi passi come sviluppatore web o ti daremo una spinta mentre porti le tue competenze al livello successivo. Non vediamo l’ora di vedere cosa costruirai.

Nuovo su Laravel? Dai un’occhiata al Laravel Bootcamp per un tour pratico del framework mentre ti guidiamo nella creazione della tua prima applicazione Laravel.

Esistono diverse strumenti e framework disponibili per la creazione di applicazioni web. Tuttavia, crediamo che Laravel sia la scelta migliore per la creazione di moderne applicazioni web full-stack.

Un Framework Progressivo

Ci piace definire Laravel un framework “progressivo”. Con questo intendiamo che Laravel cresce con te. Se stai iniziando ad avventurarti nello sviluppo web, la vasta libreria di documentazione, guide e tutorial video di Laravel ti aiuterà a imparare le basi senza sentirti sopraffatto.

Se sei uno sviluppatore senior, Laravel ti fornisce strumenti potenti per l’iniezione delle dipendenze, i test unitari, le code, gli eventi in tempo reale e altro ancora. Laravel è ottimizzato per la creazione di applicazioni web professionali ed è pronto per gestire carichi di lavoro enterprise.

Un Framework Scalabile

Laravel è estremamente scalabile. Grazie alla natura scalabile di PHP e al supporto integrato di Laravel per i sistemi di cache distribuiti e veloci come Redis, la scalabilità orizzontale con Laravel è un gioco da ragazzi. Infatti, le applicazioni Laravel sono state facilmente scalate per gestire centinaia di milioni di richieste al mese.

Hai bisogno di una scalabilità estrema? Piattaforme come Laravel Vapor ti consentono di eseguire la tua applicazione Laravel su una scala quasi illimitata utilizzando la più recente tecnologia serverless di AWS.

Un Framework Comunitario

Laravel combina i migliori pacchetti nell’ecosistema PHP per offrire il framework più robusto e sviluppatori-friendly disponibile. Inoltre, migliaia di sviluppatori talentuosi provenienti da tutto il mondo hanno contribuito al framework. Chissà, potresti persino diventare un contributore di Laravel.

Il tuo primo progetto Laravel

Prima di creare il tuo primo progetto Laravel, assicurati che la tua macchina locale abbia PHP e Composer installati. Se stai sviluppando su macOS, PHP e Composer possono essere installati tramite Homebrew. Inoltre, ti consigliamo di installare Node e NPM.

Dopo aver installato PHP e Composer, puoi creare un nuovo progetto Laravel tramite il comando create-project di Composer:

composer create-project laravel/laravel example-ap

Oppure puoi creare nuovi progetti Laravel installando globalmente il programma di installazione di Laravel tramite Composer:

composer global require laravel/installer
 
laravel new example-app

Dopo che il progetto è stato creato, avvia il server di sviluppo locale di Laravel usando il comando serve dell’Artisan CLI di Laravel:

cd example-app
 
php artisan serve

Una volta avviato il server di sviluppo Artisan, la tua applicazione sarà accessibile nel tuo browser web all’indirizzo http://localhost:8000. Successivamente, sei pronto per fare i tuoi prossimi passi nell’ecosistema di Laravel. Naturalmente, potresti anche voler configurare un database.

Se desideri un vantaggio iniziale nello sviluppo della tua applicazione Laravel, considera l’utilizzo di uno dei nostri starter kit. Gli starter kit di Laravel forniscono una struttura di base per l’autenticazione backend e frontend della tua nuova applicazione Laravel.

Configurazione iniziale

Tutti i file di configurazione per il framework Laravel sono memorizzati nella directory “config“. Ogni opzione è documentata, quindi puoi esaminare liberamente i file e familiarizzare con le opzioni disponibili per te.

Laravel non richiede quasi alcuna configurazione aggiuntiva già pronta all’uso. Sei libero di iniziare lo sviluppo! Tuttavia, potresti voler rivedere il file “config/app.php” e la relativa documentazione. Contiene diverse opzioni come il fuso orario e la localizzazione che potresti desiderare modificare in base alla tua applicazione.

Configurazione basata sull’ambiente

Poiché molti valori delle opzioni di configurazione di Laravel possono variare a seconda che la tua applicazione venga eseguita sulla tua macchina locale o su un server web di produzione, molti valori di configurazione importanti sono definiti utilizzando il file “.env” che si trova nella radice della tua applicazione.

Il tuo file .env non dovrebbe essere incluso nel controllo di versione del tuo progetto, poiché ogni sviluppatore o server che utilizza la tua applicazione potrebbe richiedere una configurazione ambientale diversa. Inoltre, ciò rappresenterebbe un rischio per la sicurezza nel caso in cui un intruso riesca ad accedere al repository del tuo controllo di versione, poiché eventuali credenziali sensibili verrebbero esposte.

Per ulteriori informazioni sul file .env e sulla configurazione basata sull’ambiente, consulta la documentazione completa sulla configurazione.

Migrazioni e Databases

Ora che hai creato la tua applicazione Laravel, probabilmente desideri memorizzare alcuni dati in un database. Per impostazione predefinita, il file di configurazione .env della tua applicazione specifica che Laravel interagirà con un database MySQL e accederà al database all’indirizzo 127.0.0.1. Se stai sviluppando su macOS e hai bisogno di installare MySQL, Postgres o Redis localmente, potrebbe essere comodo utilizzare DBngin.

Se non desideri installare MySQL o Postgres sulla tua macchina locale, puoi sempre utilizzare un database SQLite. SQLite è un motore di database leggero, veloce e autonomo. Per iniziare, crea un database SQLite creando un file SQLite vuoto. Di solito, questo file sarà presente nella directory del database della tua applicazione Laravel:

touch database/database.sqlite

Successivamente, aggiorna il file di configurazione .env per utilizzare il driver del database SQLite di Laravel. Puoi rimuovere le altre opzioni di configurazione del database:

DB_CONNECTION=sqlite 
DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=laravel 
DB_USERNAME=root 
DB_PASSWORD= 

Una volta configurato il tuo database SQLite, puoi eseguire le migrazioni del database dell’applicazione, che creeranno le tabelle del database dell’applicazione:

Configurazione delle directory

Laravel dovrebbe sempre essere servito dalla radice della “directory web” configurata per il tuo server web. Non dovresti cercare di servire un’applicazione Laravel da una sottodirectory della “directory web”. Tentare di farlo potrebbe esporre file sensibili presenti all’interno della tua applicazione.

Prossimi passi

Ora che hai creato il tuo progetto Laravel, potresti chiederti cosa imparare successivamente. Innanzitutto, ti consigliamo vivamente di familiarizzare con il funzionamento di Laravel leggendo la seguente documentazione:

  • Ciclo di vita delle richieste
  • Configurazione
  • Struttura delle directory
  • Frontend
  • Contenitore dei servizi
  • Facades

Il modo in cui desideri utilizzare Laravel determinerà anche i prossimi passi del tuo percorso. Ci sono diverse modalità di utilizzo di Laravel e qui di seguito esploreremo due casi d’uso principali per il framework.

Laravel: Il framework full stack

Laravel può essere utilizzato come un framework full stack. Con “full stack” si intende che utilizzerai Laravel per gestire le richieste dell’applicazione e renderizzare il frontend attraverso i template Blade o utilizzando una tecnologia ibrida per applicazioni a singola pagina come Inertia. Questo è il modo più comune per utilizzare il framework Laravel e, secondo la nostra opinione, anche il modo più produttivo.

Se intendi utilizzare Laravel in questo modo, potresti voler consultare la nostra documentazione sullo sviluppo del frontend, sul routing, sulle viste o sull’ORM Eloquent. Inoltre, potresti essere interessato a conoscere i pacchetti della community come Livewire e Inertia. Questi pacchetti ti consentono di utilizzare Laravel come un framework full stack, beneficiando anche dei vantaggi dell’interfaccia utente offerti dalle applicazioni JavaScript a singola pagina.

Se stai utilizzando Laravel come un framework full stack, ti consigliamo vivamente anche di imparare come compilare il CSS e il JavaScript della tua applicazione utilizzando Vite.

Laravel: Il backend API

Laravel può anche essere utilizzato come backend API per un’applicazione JavaScript a singola pagina o un’applicazione mobile. Ad esempio, potresti utilizzare Laravel come backend API per la tua applicazione Next.js. In questo contesto, puoi utilizzare Laravel per fornire autenticazione, archiviazione e recupero dei dati per la tua applicazione, sfruttando anche i potenti servizi offerti da Laravel, come code, email, notifiche e altro ancora.

Se hai intenzione di utilizzare Laravel in questo modo, potresti voler consultare la nostra documentazione sul routing, su Laravel Sanctum e sull’ORM Eloquent.

Hai bisogno di un punto di partenza per la creazione del tuo backend Laravel e del frontend Next.js? Laravel Breeze offre una scaffolding per l’API stack così come un’implementazione del frontend Next.js, in modo che tu possa iniziare in pochi minuti.