La programmazione web è un campo vasto e in continua evoluzione, e uno degli strumenti più potenti e apprezzati per costruire applicazioni web robuste e scalabili con PHP è Laravel. Se sei all'inizio del tuo percorso nello sviluppo web o desideri imparare un framework moderno e ben strutturato, Laravel è una scelta eccellente. Ma prima di poter iniziare a costruire meraviglie, è fondamentale capire come installarlo e configurarlo correttamente.
Questo articolo ti guiderà attraverso l'intero processo di installazione di Laravel, dalle dipendenze necessarie alla configurazione iniziale, fino all'avvio del tuo primo progetto. Ti spiegheremo il "perché" dietro ogni passaggio, non solo il "cosa", per fornirti una comprensione profonda che ti sarà utile in futuro.
Cos'è Laravel e Perché Dovresti Usarlo
Laravel è un framework PHP open-source, basato sul pattern architetturale Model-View-Controller (MVC), progettato per rendere lo sviluppo di applicazioni web più rapido, divertente ed efficiente. Creato da Taylor Otwell, Laravel è diventato rapidamente uno dei framework PHP più popolari, grazie alla sua sintassi elegante, alle funzionalità potenti e a una vasta comunità di sviluppatori.
I Vantaggi di Laravel per i Principianti
Perché un principiante dovrebbe scegliere Laravel?
- Sintassi Espressiva e Intuitiva: Il codice Laravel è facile da leggere e scrivere, il che riduce la curva di apprendimento per i nuovi sviluppatori.
- Ricca Documentazione: La documentazione ufficiale di Laravel è eccezionalmente completa, chiara e aggiornata, rendendola una risorsa preziosa per qualsiasi dubbio.
- Ecosistema Robusto: Laravel offre una miriade di strumenti e pacchetti integrati (come Eloquent ORM per l'interazione con il database, Blade per i template, Artisan per la riga di comando) che semplificano notevolmente lo sviluppo.
- Comunità Attiva: Una vasta comunità significa che trovare aiuto, tutorial e soluzioni ai problemi è molto più semplice.
- Struttura Organizzata: Laravel impone una struttura di progetto chiara e logica, che aiuta a mantenere il codice organizzato e manutenibile, un aspetto cruciale per i progetti di qualsiasi dimensione.
- Sicurezza Integrata: Il framework include funzionalità di sicurezza integrate che proteggono le tue applicazioni da molte delle minacce web più comuni, come attacchi CSRF e XSS.
In sintesi, Laravel ti permette di concentrarti sulla logica della tua applicazione piuttosto che sulle noiose configurazioni di base, offrendo un'esperienza di sviluppo piacevole ed efficace.
Prerequisiti: Cosa Ti Serve Prima di Iniziare
Prima di poter installare Laravel, è fondamentale assicurarsi che il tuo ambiente di sviluppo sia pronto. Laravel ha alcune dipendenze chiave che devono essere installate sul tuo sistema. Non preoccuparti, ti guideremo passo dopo passo.
1. PHP
Laravel è un framework PHP, quindi ovviamente hai bisogno che PHP sia installato sul tuo sistema. Laravel richiede una versione specifica di PHP (ad esempio, Laravel 10 richiede PHP >= 8.1, Laravel 11 richiede PHP >= 8.2). È sempre buona pratica consultare la documentazione ufficiale di Laravel per la versione esatta di PHP richiesta dalla versione di Laravel che intendi installare.
Come verificare la versione di PHP: Apri il tuo terminale o prompt dei comandi e digita:
php -v
Dovresti vedere un output simile a questo:
PHP 8.2.10 (cli) (built: Aug 24 2023 15:43:08) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
with Zend OPcache v8.2.10, Copyright (c), by Zend Technologies
Se PHP non è installato o la versione è troppo vecchia, dovrai installarlo. Per i principianti, il modo più semplice su Windows, macOS o Linux è utilizzare un pacchetto "all-in-one" come:
- XAMPP (Windows, macOS, Linux)
- WAMP (Windows)
- MAMP (macOS)
Questi pacchetti includono PHP, Apache (un server web) e MySQL (un database) e sono ideali per un ambiente di sviluppo locale. Dopo averli installati, assicurati che PHP sia accessibile dalla riga di comando (spesso è necessario aggiungere il percorso alla directory bin di PHP alla variabile d'ambiente PATH).
2. Composer
Composer è il gestore di dipendenze ufficiale per PHP. È uno strumento essenziale che Laravel utilizza per installare le sue librerie e pacchetti. Pensa a Composer come a npm per JavaScript o pip per Python.
Come verificare l'installazione di Composer: Apri il tuo terminale e digita:
composer -V
Dovresti vedere un output simile a:
Composer version 2.6.5 2023-10-27 12:47:04
Come installare Composer:
-
Windows: Scarica e esegui il
Composer-Setup.exedal sito ufficiale di Composer: getcomposer.org. Segui le istruzioni, assicurandoti che l'installazione sia per tutti gli utenti e che il percorso di PHP sia corretto. -
macOS / Linux: Puoi installare Composer globalmente con una serie di comandi nel terminale:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ffce03186490657dbaf7d46f8d558c30d95cd5ab9c2b08f9a08ab728c2fa0cfef1bd50f5478f71fdf49d') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" sudo mv composer.phar /usr/local/bin/composerQuesti comandi scaricano lo script di installazione, ne verificano l'integrità, lo eseguono e poi spostano il file
composer.pharin una directory accessibile globalmente (/usr/local/bin), rendendocomposerdisponibile da qualsiasi posizione nel terminale.
3. Node.js e npm (Opzionale, ma Consigliato)
Sebbene non sia strettamente necessario per il backend di Laravel, Node.js e il suo gestore di pacchetti npm sono fondamentali se intendi utilizzare asset frontend moderni (come Vue.js, React, Tailwind CSS o compilazione di SASS/LESS) con Laravel Mix o Vite (il bundler JavaScript predefinito di Laravel).
Come verificare l'installazione di Node.js e npm:
node -v
npm -v
Come installare Node.js e npm: Scarica l'installer per il tuo sistema operativo dal sito ufficiale: nodejs.org. L'installazione di Node.js include automaticamente npm.
4. Git (Opzionale, ma Consigliato)
Git è un sistema di controllo versione indispensabile per qualsiasi progetto di sviluppo. Sebbene non sia un prerequisito diretto per l'installazione di Laravel, lo è per la gestione del codice e la collaborazione. È una buona pratica averlo installato.
Come verificare l'installazione di Git:
git --version
Come installare Git:
Scarica l'installer da git-scm.com o usa il gestore di pacchetti del tuo sistema operativo (es. sudo apt install git su Debian/Ubuntu, brew install git su macOS).
Installazione di Laravel: Due Metodi Principali
Una volta che tutti i prerequisiti sono soddisfatti, sei pronto per installare Laravel. Esistono due modi principali per creare un nuovo progetto Laravel.
Metodo 1: Usando il Laravel Installer (Consigliato per i Principianti)
Il Laravel Installer è un semplice pacchetto Composer che ti permette di creare un nuovo progetto Laravel con un singolo comando. È il metodo più pulito e veloce.
Passo 1: Installare il Laravel Installer globalmente
Apri il tuo terminale e digita il seguente comando. Questo installerà il pacchetto laravel/installer in modo che sia disponibile da qualsiasi directory.
composer global require laravel/installer
Nota: Assicurati che la directory ~/.composer/vendor/bin (macOS/Linux) o %APPDATA%\\Composer\\vendor\\bin (Windows) sia inclusa nella tua variabile d'ambiente PATH. Questo permette al sistema di trovare il comando laravel.
- Su macOS/Linux: Potresti dover aggiungere
export PATH="$HOME/.composer/vendor/bin:$PATH"al tuo file~/.bashrc,~/.zshrco~/.profilee poi riavviare il terminale o eseguiresource ~/.bashrc(o il file appropriato). - Su Windows: Durante l'installazione di Composer, di solito viene chiesto di aggiungere Composer e le sue directory al PATH. Se non lo hai fatto, puoi farlo manualmente tramite le Impostazioni di Sistema -> Variabili d'ambiente.
Passo 2: Creare un nuovo progetto Laravel
Una volta che il Laravel Installer è installato e accessibile, puoi creare un nuovo progetto Laravel usando il comando laravel new seguito dal nome del tuo progetto.
laravel new nome-del-tuo-progetto
Sostituisci nome-del-tuo-progetto con il nome desiderato per la tua applicazione (es. my-blog, ecommerce-app). Questo comando scaricherà automaticamente tutti i file di Laravel e le sue dipendenze, configurando il progetto per te. Il processo potrebbe richiedere alcuni minuti a seconda della tua connessione internet.
Metodo 2: Usando composer create-project
Questo metodo non richiede l'installazione globale del Laravel Installer. Funziona scaricando direttamente il repository di Laravel e installando le dipendenze. È utile se non vuoi installare un pacchetto globale o se hai bisogno di installare una versione specifica di Laravel.
Passo 1: Creare un nuovo progetto Laravel
Nel tuo terminale, naviga nella directory dove vuoi creare il tuo progetto e digita:
composer create-project laravel/laravel nome-del-tuo-progetto
Anche qui, sostituisci nome-del-tuo-progetto con il nome desiderato. Questo comando farà essenzialmente la stessa cosa del laravel new command: scaricherà Laravel e tutte le sue dipendenze. Puoi specificare una versione di Laravel aggiungendo un terzo argomento:
composer create-project laravel/laravel nome-del-tuo-progetto "^10.0"
"^10.0" indicherebbe di installare l'ultima versione di Laravel 10.x.
Configurazione Iniziale e Avvio del Server di Sviluppo
Dopo aver installato Laravel, ci sono alcuni passaggi di configurazione che è bene conoscere.
1. Navigare nella directory del progetto
Spostati nella directory del tuo nuovo progetto:
cd nome-del-tuo-progetto
2. Il file .env
Laravel utilizza un file .env per memorizzare le variabili d'ambiente specifiche per la tua applicazione (es. credenziali del database, chiavi API, configurazioni di servizi esterni). Questo file non viene committato nel controllo versione (Git) per motivi di sicurezza e per permettere configurazioni diverse tra ambienti (sviluppo, staging, produzione).
Quando crei un nuovo progetto Laravel, viene generato un file .env.example. Laravel lo copia automaticamente in .env al primo avvio o se usi i comandi di installazione standard. Se per qualche motivo il file .env non è presente, puoi crearlo manualmente copiando .env.example:
cp .env.example .env
3. Generare la chiave dell'applicazione
Ogni applicazione Laravel richiede una chiave univoca per la crittografia delle sessioni e altri dati sensibili. Questa chiave viene automaticamente generata durante l'installazione, ma se hai creato il file .env manualmente o riscontri problemi, puoi generarla con il comando Artisan:
bash
php artisan key:generate
Questo comando aggiornerà la variabile APP_KEY nel tuo file .env con una stringa casuale.
4. Avviare il server di sviluppo locale
Laravel include un server di sviluppo leggero basato su PHP, perfetto per testare la tua applicazione in locale. Puoi avviarlo con il comando Artisan:
php artisan serve
Dovresti vedere un output simile a:
Laravel development server started: http://127.0.0.1:8000
Ora puoi aprire il tuo browser e navigare all'indirizzo http://127.0.0.1:8000 (o quello indicato dal terminale). Dovresti vedere la pagina di benvenuto predefinita di Laravel, un segno che la tua installazione è andata a buon fine! Per fermare il server, premi Ctrl+C nel terminale.
Esempi Pratici: Creare una Semplice Pagina "Hello World"
Ora che Laravel è installato e il server è in esecuzione, vediamo come creare una semplice pagina web per capire come funziona il routing e le view.
1. Definire una rotta (Route)
Le rotte in Laravel definiscono come le richieste HTTP vengono gestite dalla tua applicazione. Apri il file routes/web.php nella directory del tuo progetto. Troverai già alcune rotte di esempio. Aggiungiamo una nuova rotta:
<?php
use Illuminate\\Support\\Facades\\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
// La nostra nuova rotta
Route::get('/saluto', function () {
return 'Ciao dal mio primo progetto Laravel!';
});
// Rotta con parametro
Route::get('/saluto/{nome}', function ($nome) {
return 'Ciao, ' . ucfirst($nome) . '! Benvenuto in Laravel.';
});
Route::get('/saluto', ...): Definisce una rotta che risponde a richieste GET all'URL/saluto.function () { ... }: Questa è la "callback" o "azione" che viene eseguita quando la rotta viene visitata. In questo caso, restituisce una semplice stringa.Route::get('/saluto/{nome}', ...): Questa rotta accetta un parametro dinamico nell'URL, indicato da{nome}. Il valore dinomeviene passato alla funzione di callback.
Salva il file routes/web.php.
2. Testare le nuove rotte
Assicurati che il server di sviluppo sia in esecuzione (php artisan serve).
- Apri il browser e vai su
http://127.0.0.1:8000/saluto. Dovresti vedere il messaggio "Ciao dal mio primo progetto Laravel!". - Ora prova
http://127.0.0.1:8000/saluto/mario. Dovresti vedere "Ciao, Mario! Benvenuto in Laravel.".
Fantastico! Hai creato le tue prime rotte e risposte in Laravel.
3. Utilizzare una View (File Blade)
Restituire stringhe direttamente dalla rotta va bene per test veloci, ma per contenuti HTML più complessi, Laravel usa le "view" (viste) e il motore di templating Blade.
Passo 1: Creare una nuova view
Le view si trovano nella directory resources/views. Crea un nuovo file chiamato ciao.blade.php all'interno di questa directory.
<!-- resources/views/ciao.blade.php -->
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Saluto Laravel</title>
<style>
body {
font-family: Arial, sans-serif;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
margin: 0;
background-color: #f0f2f5;
color: #333;
}
.container {
background-color: #fff;
padding: 40px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
text-align: center;
}
h1 {
color: #4CAF50;
}
p {
font-size: 1.2em;
}
</style>
</head>
<body>
<div class="container">
<h1>Benvenuto, {{ $nome }}!</h1>
<p>Questa è la tua prima view Blade in Laravel.</p>
<p>Sei pronto a costruire applicazioni incredibili!</p>
</div>
</body>
</html>
Nota l'uso di {{ $nome }}. Questa è la sintassi di Blade per stampare una variabile. Blade è molto potente e ti permette di scrivere codice PHP direttamente nelle tue view in modo pulito e sicuro.
Passo 2: Modificare la rotta per usare la view
Ora, modifichiamo la rotta /saluto/{nome} nel file routes/web.php per restituire questa nuova view.
// ... altre rotte ...
// Rotta con parametro che usa una view
Route::get('/saluto/{nome}', function ($nome) {
return view('ciao', ['nome' => $nome]);
});
Qui, view('ciao', ['nome' => $nome]) istruisce Laravel a caricare il file ciao.blade.php e a passargli un array di dati. La chiave dell'array ('nome') diventa il nome della variabile ($nome) disponibile all'interno della view.
Salva routes/web.php e torna al browser. Visita http://127.0.0.1:8000/saluto/ilTuoNome (sostituisci ilTuoNome con un nome a tua scelta). Dovresti vedere la pagina HTML stilizzata con il tuo nome.
Errori Comuni e Risoluzione dei Problemi
Durante l'installazione e i primi passi con Laravel, potresti incontrare alcuni problemi comuni. Ecco come affrontarli:
-
phpcommand not found: Questo significa che PHP non è installato o non è nel tuo PATH. Rivedi la sezione sui prerequisiti e assicurati che PHP sia installato correttamente e accessibile dalla riga di comando. -
composercommand not found: Simile al problema di PHP, indica che Composer non è installato o non è nel tuo PATH. Controlla la sezione di installazione di Composer. -
laravelcommand not found: Questo accade se hai installato il Laravel Installer ma la directory~/.composer/vendor/bin(o equivalente su Windows) non è nel tuo PATH. Aggiungila e riavvia il terminale. -
No application encryption key has been specified.: Questo errore si verifica se la variabileAPP_KEYnel file.envè vuota o mancante. Eseguiphp artisan key:generatenella directory del tuo progetto. -
php artisan servenon funziona o dà errori: Potrebbe essere un problema con la versione di PHP o con le estensioni PHP mancanti. Laravel richiede alcune estensioni PHP (es.mbstring,pdo,xml,bcmath). Assicurati che siano abilitate nel tuo filephp.ini. -
Permessi delle directory: Su sistemi Linux/macOS, a volte Laravel ha bisogno di permessi di scrittura su alcune directory, in particolare
storageebootstrap/cache. Se riscontri problemi di permessi, puoi provare:sudo chown -R $USER:www-data storage bootstrap/cache sudo chmod -R 775 storage bootstrap/cacheSostituisci
$USERcon il tuo nome utente. In ambienti di sviluppo locale,777su queste directory potrebbe essere usato per semplicità, ma è fortemente sconsigliato in produzione per motivi di sicurezza. -
Errore 500 dopo l'installazione: Se vedi un errore 500 nel browser e la pagina di benvenuto non carica, controlla i log degli errori di Laravel (nella directory
storage/logs) per dettagli più specifici. Spesso è legato a permessi,APP_KEYmancante o configurazione del database errata.
Prossimi Passi: Cosa Imparare Dopo l'Installazione
Complimenti! Hai installato Laravel e creato la tua prima pagina. Ma questo è solo l'inizio. Laravel è un framework vasto e ci sono molte aree entusiasmanti da esplorare:
- Routing Avanzato: Scopri come organizzare le tue rotte, usare i controller, i middleware e le risorse RESTful.
- Controller: Impara a centralizzare la logica della tua applicazione usando i controller per gestire le richieste HTTP.
- Blade Templating: Approfondisci Blade, il motore di template di Laravel, per creare layout riutilizzabili, includere partials e gestire la logica di visualizzazione in modo efficiente.
- Eloquent ORM: Questo è uno degli aspetti più potenti di Laravel. Impara a interagire con il tuo database usando Eloquent, che ti permette di trattare le tabelle del database come oggetti PHP.
- Migrazioni e Seeder: Scopri come gestire lo schema del tuo database in modo programmatico con le migrazioni e come popolare il database con dati di prova usando i seeder.
- Database: Configura Laravel per connettersi a database reali come MySQL, PostgreSQL o SQLite.
- Autenticazione e Autorizzazione: Laravel offre un sistema di autenticazione robusto e facile da implementare. Impara a gestire utenti, login, registrazione e permessi.
- Form Validation: Scopri come convalidare i dati inviati dagli utenti per garantire che la tua applicazione sia sicura e affidabile.
- Frontend con Vite/Laravel Mix: Se vuoi costruire un'interfaccia utente moderna, esplora come Laravel si integra con strumenti frontend come Vite o Laravel Mix per compilare JavaScript e CSS.
- Test: Impara a scrivere test unitari e di funzionalità per assicurarti che la tua applicazione funzioni come previsto.
Per continuare il tuo percorso, ti consiglio vivamente di consultare la documentazione ufficiale di Laravel. È una risorsa incredibilmente ben fatta e aggiornata che ti guiderà attraverso ogni aspetto del framework. Inoltre, ci sono numerosi tutorial, corsi online e canali YouTube dedicati a Laravel che possono accelerare il tuo apprendimento.
Ricorda, la pratica rende perfetti. Inizia a costruire piccoli progetti, sperimenta con le diverse funzionalità e non aver paura di commettere errori. Ogni errore è un'opportunità per imparare e migliorare. Buon divertimento con Laravel!