Prologo
Primi Passi
Architettura
Le Basi
Approfondimenti
Package
Installazione
- Scopri Laravel
- Creare un’applicazione Laravel
- Configurazione Iniziale
- Installazione Locale Usando Herd
- Installazione di Docker con Sail
- Supporto IDE
- Prossimi Passi
Scopri Laravel
Laravel è un framework per applicazioni web con una sintassi espressiva ed elegante. Un framework web offre una struttura e un punto di partenza per creare la tua applicazione, permettendoti di concentrarti nel creare qualcosa di straordinario mentre noi curiamo i dettagli.
Laravel si impegna a offrire un’esperienza straordinaria agli sviluppatori, fornendo funzionalità potenti come l’iniezione di dipendenze completa, un’espressiva astrazione del database, code e lavori programmati, test unitari e di integrazione, e altro ancora.
Che tu sia nuovo ai framework web PHP o abbia anni di esperienza, Laravel è un framework che può crescere con te. Ti aiuteremo a fare i tuoi primi passi come sviluppatore web o a dare una spinta alla tua esperienza per portarla al livello successivo. Non vediamo l’ora di vedere cosa realizzerai.
Nuovo a Laravel? Dai un’occhiata al Laravel Bootcamp per un tour pratico del framework mentre ti guidiamo nella creazione della tua prima applicazione Laravel.
Perché Laravel?
Ci sono diversi strumenti e framework disponibili per costruire un’applicazione web. Tuttavia, crediamo che Laravel sia la scelta migliore per sviluppare applicazioni web moderne e complete.
Un Framework Progressivo
Ci piace definire Laravel come un framework "progressivo". Con questo intendiamo che Laravel cresce insieme a te. Se stai facendo i primi passi nello sviluppo web, la vasta libreria di documentazione, guide e video tutorial di Laravel ti aiuterà a imparare senza sentirti sopraffatto.
Se sei uno sviluppatore esperto, Laravel ti offre strumenti robusti per dependency injection, unit testing, code, eventi in tempo reale e altro ancora. Laravel è ottimizzato per costruire applicazioni web professionali ed è pronto a gestire carichi di lavoro aziendali.
Un Framework Scalabile
Laravel è estremamente scalabile. Grazie alla natura di PHP orientata alla scalabilità e al supporto integrato di Laravel per sistemi di cache rapidi e distribuiti come Redis, la scalabilità orizzontale con Laravel è semplice. Infatti, le applicazioni Laravel sono state facilmente scalate per gestire centinaia di milioni di richieste al mese.
Hai bisogno di scalabilità notevole? Piattaforme come Laravel Vapor ti permettono di eseguire la tua applicazione Laravel ad una scala quasi illimitata utilizzando l’ultima tecnologia serverless di AWS.
Un Framework della Comunità
Laravel combina i migliori pacchetti dell’ecosistema PHP per offrire il framework più robusto e amichevole per gli sviluppatori disponibile. Inoltre, migliaia di sviluppatori talentuosi da tutto il mondo hanno contribuito al framework. Chissà, magari diventerai anche tu un contributor di Laravel!
Creare un’applicazione Laravel
Installazione di PHP e l’Installer di Laravel
Prima di creare la tua prima applicazione Laravel, assicurati che il tuo computer abbia PHP, Composer e l’installer di Laravel installati. Inoltre, dovresti installare Node e NPM o Bun per poter compilare gli asset frontend della tua applicazione.
Se non hai PHP e Composer installati sul tuo computer, i seguenti comandi installeranno PHP, Composer e l’installer di Laravel su macOS, Windows o Linux:
/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)"
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://php.new/install/windows/8.4'))
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"
Dopo aver eseguito uno dei comandi sopra, dovresti riavviare la sessione del terminale. Per aggiornare PHP, Composer e l’installer di Laravel dopo averli installati tramite php.new
, puoi rieseguire il comando nel tuo terminale.
Se hai già installato PHP e Composer, puoi installare l’installer di Laravel tramite Composer:
composer global require laravel/installer
[!NOTE] Per un’esperienza completa e grafica di installazione e gestione di PHP, dai un’occhiata a Laravel Herd.
Creare un’Applicazione
Dopo aver installato PHP, Composer e l’installer di Laravel, sei pronto per creare una nuova applicazione Laravel. L’installer di Laravel ti chiederà di selezionare il framework di testing preferito, il database e lo starter kit:
laravel new example-app
Una volta creata l’applicazione, puoi avviare il server di sviluppo locale di Laravel, il worker della queue e il server di sviluppo di Vite usando lo script dev
di Composer:
cd example-app
npm install && npm run build
composer run dev
Dopo aver avviato il server di sviluppo, la tua applicazione sarà accessibile nel tuo browser web su http://localhost:8000. Successivamente, sei pronto per iniziare i tuoi prossimi passi nell’ecosistema Laravel. Naturalmente, potresti anche voler configurare un database.
Se desideri avere un vantaggio nello sviluppo della tua applicazione Laravel, considera l’uso di uno dei nostri starter kit. Gli starter kit di Laravel forniscono scaffolding per l’autenticazione backend e frontend per la tua nuova applicazione Laravel.
Configurazione Iniziale
Tutti i file di configurazione del framework Laravel sono memorizzati nella directory config
. Ogni opzione è documentata, quindi sentiti libero di esplorare i file e familiarizzare con le opzioni disponibili.
Laravel non richiede quasi alcuna configurazione aggiuntiva fin da subito. Sei libero di iniziare a sviluppare! Tuttavia, potresti voler rivedere il file config/app.php
e la sua documentazione. Contiene diverse opzioni come timezone
e locale
che potresti voler 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 sia in esecuzione 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 versionato nel codice sorgente della tua applicazione, poiché ogni sviluppatore/server che utilizza la tua applicazione potrebbe richiedere una configurazione d’ambiente diversa. Inoltre, questo rappresenterebbe un rischio per la sicurezza nel caso in cui un intruso acceda al tuo repository di controllo del codice sorgente, poiché eventuali credenziali sensibili verrebbero esposte.
Per maggiori informazioni sul file
.env
e sulla configurazione basata sull’ambiente, consulta la completa documentazione sulla configurazione.
Basi di dati e Migrazioni
Ora che hai creato la tua applicazione Laravel, probabilmente vorrai memorizzare alcuni dati in un database. Per impostazione predefinita, il file di configurazione .env
della tua applicazione specifica che Laravel interagirà con un database SQLite.
Durante la creazione dell’applicazione, Laravel ha creato un file database/database.sqlite
e ha eseguito le migrazioni necessarie per creare le tabelle del database dell’applicazione.
Se preferisci usare un altro driver di database come MySQL o PostgreSQL, puoi aggiornare il file di configurazione .env
per utilizzare il database appropriato. Ad esempio, se desideri usare MySQL, aggiorna le variabili DB_*
nel file .env
nel seguente modo:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Se scegli di usare un database diverso da SQLite, dovrai creare il database ed eseguire le migrazioni del database della tua applicazione:
php artisan migrate
Se stai sviluppando su macOS o Windows e hai bisogno di installare MySQL, PostgreSQL o Redis localmente, considera l’utilizzo di Herd Pro.
Configurazione delle Directory
Laravel deve sempre essere servito dalla root della "web directory" configurata per il tuo server web. Non dovresti cercare di servire un’applicazione Laravel da una sottodirectory della "web directory". Tentare di farlo potrebbe esporre file sensibili presenti nella tua applicazione.
Installazione Locale Usando Herd
Laravel Herd è un ambiente di sviluppo nativo e super veloce per Laravel e PHP su macOS e Windows. Herd include tutto ciò che serve per iniziare a sviluppare con Laravel, incluso PHP e Nginx.
Una volta installato Herd, sei pronto per iniziare a sviluppare con Laravel. Herd include strumenti da linea di comando per php
, composer
, laravel
, expose
, node
, npm
e nvm
.
Herd Pro amplia Herd con funzionalità aggiuntive e potenti, come la possibilità di creare e gestire database locali MySQL, Postgres e Redis, oltre alla visualizzazione delle email locali e al monitoraggio dei log.
Herd su macOS
Se sviluppi su macOS, puoi scaricare l’installer di Herd dal sito di Herd. L’installer scarica automaticamente l’ultima versione di PHP e configura il tuo Mac per eseguire sempre Nginx in background.
Herd per macOS utilizza dnsmasq per supportare le directory "parked". Qualsiasi applicazione Laravel in una directory parked sarà servita automaticamente da Herd. Di default, Herd crea una directory parked in ~/Herd
e puoi accedere a qualsiasi applicazione Laravel in questa directory sul dominio .test
usando il nome della directory.
Dopo aver installato Herd, il modo più veloce per creare una nuova applicazione Laravel è usare la CLI di Laravel, inclusa con Herd:
cd ~/Herd
laravel new my-app
cd my-app
herd open
Naturalmente, puoi sempre gestire le tue directory parked e altre impostazioni PHP tramite l’interfaccia di Herd, accessibile dal menu Herd nell’area di sistema.
Puoi saperne di più su Herd consultando la documentazione di Herd.
Herd su Windows
Puoi scaricare l’installer per Windows di Herd dal sito di Herd. Dopo aver completato l’installazione, puoi avviare Herd per completare il processo di configurazione e accedere per la prima volta all’interfaccia utente di Herd.
L’interfaccia utente di Herd è accessibile cliccando con il tasto sinistro sull’icona di Herd nell’area di notifica. Un clic con il tasto destro apre il menu rapido con accesso a tutti gli strumenti di cui hai bisogno quotidianamente.
Durante l’installazione, Herd crea una directory "parked" nella tua cartella personale in %USERPROFILE%\Herd
. Qualsiasi applicazione Laravel in una directory "parked" sarà automaticamente gestita da Herd e potrai accedere a qualsiasi applicazione Laravel in questa directory sul dominio .test
utilizzando il nome della directory.
Dopo aver installato Herd, il modo più veloce per creare una nuova applicazione Laravel è usare la Laravel CLI, che è inclusa con Herd. Per iniziare, apri Powershell ed esegui i seguenti comandi:
cd ~\Herd
laravel new my-app
cd my-app
herd open
Puoi saperne di più su Herd consultando la documentazione di Herd per Windows.
Installazione di Docker con Sail
Vogliamo rendere l’inizio con Laravel il più semplice possibile, indipendentemente dal sistema operativo che usi. Per questo motivo, ci sono diverse opzioni per sviluppare ed eseguire un’applicazione Laravel sulla tua macchina locale. In alternativa, Laravel offre Sail, una soluzione integrata per eseguire la tua applicazione Laravel usando Docker.
Docker è uno strumento per eseguire applicazioni e servizi in piccoli "container" leggeri che non interferiscono con il software o la configurazione installati sulla tua macchina locale. Questo significa che non devi preoccuparti di configurare o impostare strumenti di sviluppo complessi come server web e database sulla tua macchina. Per iniziare, devi solo installare Docker Desktop.
Laravel Sail è un’interfaccia a riga di comando leggera per interagire con la configurazione Docker predefinita di Laravel. Sail offre un ottimo punto di partenza per costruire un’applicazione Laravel usando PHP, MySQL e Redis senza necessitare di tanta esperienza pregressa con Docker.
Sei già un esperto di Docker? Nessun problema! Tutto su Sail può essere personalizzato utilizzando il file
docker-compose.yml
incluso con Laravel.
Sail su macOS
Se stai sviluppando su un Mac e Docker Desktop è già installato, puoi usare un semplice comando nel terminale per creare una nuova applicazione Laravel. Ad esempio, per creare una nuova applicazione Laravel in una cartella chiamata "example-app", puoi eseguire il seguente comando nel terminale:
curl -s "https://laravel.build/example-app" | bash
Naturalmente, puoi cambiare "example-app" in questa URL con qualsiasi nome tu voglia – assicurati solo che il nome dell’applicazione contenga solo caratteri alfanumerici, trattini e underscore. La directory dell’applicazione Laravel verrà creata nella cartella da cui esegui il comando.
L’installazione di Sail potrebbe richiedere alcuni minuti mentre i container dell’applicazione Sail vengono preparati sul tuo computer locale.
Dopo che l’applicazione è stata creata, puoi navigare nella directory dell’applicazione e avviare Laravel Sail. Laravel Sail fornisce un’interfaccia a riga di comando semplice per interagire con la configurazione Docker predefinita di Laravel:
cd example-app
./vendor/bin/sail up
Una volta avviati i container Docker dell’applicazione, dovresti eseguire le migrazioni del database della tua applicazione:
./vendor/bin/sail artisan migrate
Infine, puoi accedere all’applicazione nel tuo browser web all’indirizzo: http://localhost.
Per continuare a imparare di più su Laravel Sail, consulta la sua documentazione completa.
Sail su Windows
Prima di creare una nuova applicazione Laravel sul tuo computer Windows, assicurati di installare Docker Desktop. Successivamente, verifica che il Windows Subsystem for Linux 2 (WSL2) sia installato e abilitato. WSL permette di eseguire binari Linux nativamente su Windows 10. Puoi trovare informazioni su come installare e abilitare WSL2 nella documentazione dell’ambiente di sviluppo di Microsoft.
Dopo aver installato e abilitato WSL2, assicurati che Docker Desktop sia configurato per utilizzare il backend WSL2.
Ora sei pronto per creare la tua prima applicazione Laravel. Avvia Windows Terminal e inizia una nuova sessione terminale per il tuo sistema operativo Linux WSL2. Successivamente, puoi utilizzare un semplice comando nel terminale per creare una nuova applicazione Laravel. Ad esempio, per creare una nuova applicazione Laravel in una directory chiamata "example-app", esegui il seguente comando nel terminale:
curl -s https://laravel.build/example-app | bash
Naturalmente, puoi sostituire "example-app" in questo URL con qualsiasi nome desideri, assicurandoti che il nome dell’applicazione contenga solo caratteri alfanumerici, trattini e underscore. La directory dell’applicazione Laravel sarà creata nella cartella in cui esegui il comando.
L’installazione di Sail potrebbe richiedere alcuni minuti mentre i container dell’applicazione vengono costruiti sul tuo computer locale.
Dopo aver creato l’applicazione, puoi navigare nella directory dell’applicazione e avviare Laravel Sail. Laravel Sail offre un’interfaccia a riga di comando semplice per interagire con la configurazione Docker predefinita di Laravel:
cd example-app
./vendor/bin/sail up
Una volta avviati i container Docker dell’applicazione, dovresti eseguire le migrazioni del database dell’applicazione:
./vendor/bin/sail artisan migrate
Infine, puoi accedere all’applicazione nel tuo browser web all’indirizzo: http://localhost.
Per continuare ad apprendere di più su Laravel Sail, consulta la sua documentazione completa.
Sviluppare all’interno di WSL2
Naturalmente, avrai bisogno di poter modificare i file dell’applicazione Laravel creati all’interno della tua installazione WSL2. Per fare ciò, consigliamo di usare l’editor Visual Studio Code di Microsoft e la loro estensione ufficiale per Remote Development.
Una volta installati questi strumenti, puoi aprire qualsiasi applicazione Laravel eseguendo il comando code .
dalla directory principale della tua applicazione utilizzando Windows Terminal.
Sail su Linux
Se stai sviluppando su Linux e Docker Compose è già installato, puoi usare un semplice comando nel terminale per creare una nuova applicazione Laravel.
Primo, se stai usando Docker Desktop per Linux, dovresti eseguire il seguente comando. Se non usi Docker Desktop per Linux, puoi saltare questo passaggio:
docker context use default
Poi, per creare una nuova applicazione Laravel in una directory chiamata "example-app", puoi eseguire il seguente comando nel tuo terminale:
curl -s https://laravel.build/example-app | bash
Naturalmente, puoi cambiare "example-app" nell’URL con qualsiasi nome preferisci – assicurati solo che il nome dell’applicazione contenga solo caratteri alfanumerici, trattini e underscore. La directory dell’applicazione Laravel sarà creata nella directory da cui esegui il comando.
L’installazione di Sail potrebbe richiedere diversi minuti mentre i container dell’applicazione Sail vengono costruiti sulla tua macchina locale.
Dopo aver creato l’applicazione, puoi navigare nella directory dell’applicazione e avviare Laravel Sail. Laravel Sail offre un’interfaccia a riga di comando semplice per interagire con la configurazione Docker predefinita di Laravel:
cd example-app
./vendor/bin/sail up
Una volta avviati i container Docker dell’applicazione, dovresti eseguire le migrazioni del database della tua applicazione:
./vendor/bin/sail artisan migrate
Infine, puoi accedere all’applicazione nel tuo browser web all’indirizzo: http://localhost.
Per continuare a imparare di più su Laravel Sail, consulta la sua documentazione completa.
Scegliere i Servizi di Sail
Quando crei una nuova applicazione Laravel tramite Sail, puoi usare la variabile della stringa di query with
per scegliere quali servizi configurare nel file docker-compose.yml
della tua nuova applicazione. I servizi disponibili includono mysql
, pgsql
, mariadb
, redis
, memcached
, meilisearch
, typesense
, minio
, selenium
e mailpit
:
curl -s "https://laravel.build/example-app?with=mysql,redis" | bash
Se non specifichi quali servizi desideri configurare, verrà configurato un set predefinito di mysql
, redis
, meilisearch
, mailpit
e selenium
.
Puoi istruire Sail a installare un Devcontainer predefinito aggiungendo il parametro devcontainer
all’URL:
curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash
Supporto IDE
Puoi usare qualsiasi editor di codice desideri quando sviluppi applicazioni Laravel; tuttavia, PhpStorm offre un supporto esteso per Laravel e il suo ecosistema, incluso Laravel Pint.
Inoltre, il plugin Laravel Idea per PhpStorm, mantenuto dalla community, offre una varietà di miglioramenti utili per l’IDE, inclusa la generazione di codice, il completamento della sintassi Eloquent, il completamento delle regole di validazione e altro ancora.
Prossimi Passi
Ora che hai creato la tua applicazione Laravel, potresti chiederti cosa imparare dopo. Innanzitutto, ti consigliamo vivamente di familiarizzare con il funzionamento di Laravel leggendo la seguente documentazione:
Il modo in cui vuoi usare Laravel determinerà anche i prossimi passi del tuo percorso. Ci sono diversi modi di utilizzare Laravel e di seguito esploreremo due casi d’uso principali del framework.
Sei nuovo a Laravel? Dai un’occhiata al Laravel Bootcamp per un tour pratico del framework mentre ti guidiamo nella creazione della tua prima applicazione Laravel.
Laravel, framework Full Stack
Laravel può funzionare come un framework full stack. Per "full stack" intendiamo che utilizzerai Laravel per instradare le richieste alla tua applicazione e per renderizzare il tuo frontend tramite Blade template o una tecnologia ibrida per applicazioni a singola pagina come Inertia. Questo è il modo più comune di utilizzare il framework Laravel e, a nostro avviso, il modo più produttivo per usare Laravel.
Se intendi utilizzare Laravel in questo modo, potresti voler consultare la nostra documentazione su sviluppo frontend, routing, views o l’Eloquent ORM. Inoltre, potresti essere interessato a conoscere altri package della community come Livewire e Inertia. Questi package ti permettono di usare Laravel come framework full stack, godendo molti dei vantaggi dell’interfaccia utente forniti dalle applicazioni JavaScript a pagina singola.
Se stai usando Laravel come framework full stack, ti incoraggiamo vivamente a imparare come compilare il CSS e il JavaScript della tua applicazione utilizzando Vite.
Se vuoi iniziare subito a costruire la tua applicazione, dai un’occhiata a uno dei nostri ufficiali kit di avvio per applicazioni.
Laravel come Backend API
Laravel può anche fungere "semplicemente" da backend API per un’applicazione single-page JavaScript o mobile. Ad esempio, potresti utilizzare Laravel come backend API per la tua applicazione Next.js. In questo contesto, puoi usare Laravel per fornire autenticazione e per l’archiviazione / il recupero dei dati della tua applicazione, sfruttando anche i potenti servizi di Laravel come code, email, notifiche e altro.
Se prevedi di utilizzare Laravel in questo modo, potresti voler consultare la nostra documentazione su routing, Laravel Sanctum e il Eloquent ORM.
Hai bisogno di un avvio rapido per il tuo backend Laravel e frontend Next.js? Laravel Breeze offre uno stack API oltre a una implementazione frontend Next.js per iniziare in pochi minuti.