Come Installare Laravel: Guida Completa per Principianti e Primi Passi nel Web Development

Principiante
PHP Laravel

Scopri come installare Laravel passo dopo passo, configurare il tuo ambiente di sviluppo e creare la tua prima applicazione web. Questa guida completa è pensata per i principianti assoluti.

Pubblicato
Tag
guida PHP Web Development laravel framework principianti Composer Installazione Artisan Ambiente di Sviluppo

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.exe dal 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/composer
    

    Questi comandi scaricano lo script di installazione, ne verificano l'integrità, lo eseguono e poi spostano il file composer.phar in una directory accessibile globalmente (/usr/local/bin), rendendo composer disponibile 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, ~/.zshrc o ~/.profile e poi riavviare il terminale o eseguire source ~/.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 di nome viene 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:

  • php command 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.

  • composer command not found: Simile al problema di PHP, indica che Composer non è installato o non è nel tuo PATH. Controlla la sezione di installazione di Composer.

  • laravel command 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 variabile APP_KEY nel file .env è vuota o mancante. Esegui php artisan key:generate nella directory del tuo progetto.

  • php artisan serve non 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 file php.ini.

  • Permessi delle directory: Su sistemi Linux/macOS, a volte Laravel ha bisogno di permessi di scrittura su alcune directory, in particolare storage e bootstrap/cache. Se riscontri problemi di permessi, puoi provare:

    sudo chown -R $USER:www-data storage bootstrap/cache
    sudo chmod -R 775 storage bootstrap/cache
    

    Sostituisci $USER con il tuo nome utente. In ambienti di sviluppo locale, 777 su 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_KEY mancante 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:

  1. Routing Avanzato: Scopri come organizzare le tue rotte, usare i controller, i middleware e le risorse RESTful.
  2. Controller: Impara a centralizzare la logica della tua applicazione usando i controller per gestire le richieste HTTP.
  3. 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.
  4. 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.
  5. 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.
  6. Database: Configura Laravel per connettersi a database reali come MySQL, PostgreSQL o SQLite.
  7. Autenticazione e Autorizzazione: Laravel offre un sistema di autenticazione robusto e facile da implementare. Impara a gestire utenti, login, registrazione e permessi.
  8. Form Validation: Scopri come convalidare i dati inviati dagli utenti per garantire che la tua applicazione sia sicura e affidabile.
  9. 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.
  10. 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!