È uscito il Corso Java Completo
Torna al blog

Cos'è PHP e ha ancora senso nel 2026

Cos'è PHP, come funziona il modello shared nothing, perché PHP 8 non è il linguaggio che ricordi e dove conviene ancora usarlo oggi.

Edoardo Midali

Edoardo Midali

Developer · Content Creator

7 min di lettura

Chiedi in giro se vale la pena imparare PHP e ti rispondono che è morto. Poi guardi i dati: circa tre quarti dei siti web di cui si conosce il linguaggio lato server girano su PHP, e ogni volta che qualcuno installa WordPress ne nasce uno in più. In questo articolo trovi cos'è PHP, come funziona il suo modello di esecuzione, e una risposta onesta alla domanda del titolo.

Cos'è

PHP è un linguaggio interpretato che viene eseguito sul server per generare la risposta a una richiesta web: nasce per questo e resta specializzato in questo.

L'acronimo oggi sta per "PHP: Hypertext Preprocessor", e descrive bene il mestiere. Il browser chiede una pagina, il server esegue il codice PHP, quel codice produce HTML, e il browser riceve solo l'HTML. Del PHP non vede mai una riga.

È il complemento esatto di JavaScript, che gira dalla parte opposta — la divisione dei ruoli è spiegata in frontend e backend.

Come funziona: il modello "shared nothing"

Qui sta la differenza strutturale con Node.js o con un server Python, e spiega buona parte dei pregi e dei difetti di PHP.

Ogni richiesta HTTP fa partire un'esecuzione da zero. Il server carica gli script, esegue il codice, produce la risposta, e poi butta via tutto: variabili, oggetti, connessioni. La richiesta successiva ricomincia dal foglio bianco, senza sapere nulla della precedente. È questo che si intende con "shared nothing": i processi non condividono niente tra loro.

<?php
$contatore = 0;
$contatore++;
echo $contatore; // Stampa sempre 1, a ogni richiesta, per chiunque

Sembra uno spreco, e in parte lo è. In cambio ottieni tre cose notevoli:

Non esistono perdite di memoria durature. Un oggetto dimenticato vive qualche millisecondo e muore con la richiesta. In Node, un processo che gira per settimane accumula tutto quello che dimentichi di liberare.

Un errore isola se stesso. Una richiesta che va in crash porta giù solo sé stessa. In un server a processo persistente, un'eccezione non gestita nel posto sbagliato può fermare tutto per tutti.

Scalare è banale. Siccome le richieste non condividono stato, ne metti dieci server dietro un bilanciatore e funziona senza toccare una riga. Lo stato vive nel database o nella sessione, non nel processo.

Il prezzo è che PHP non è adatto a tutto ciò che richiede una connessione che resta aperta: chat in tempo reale, notifiche push, WebSocket. Esistono soluzioni (Swoole, FrankenPHP, ReactPHP) che tengono il processo vivo, ma stai andando controcorrente rispetto al modello del linguaggio.

PHP 8 non è il PHP che ricordi

Questa è la parte che chi lo critica quasi sempre ignora, perché ha guardato PHP l'ultima volta nel 2010.

È veloce. Il salto da PHP 5 a PHP 7 ha circa raddoppiato le prestazioni; PHP 8 ha aggiunto la compilazione JIT. Nei carichi web tipici è nella stessa fascia di Node.js, e più rapido di Python su codice equivalente.

È tipizzato quanto vuoi tu. Puoi dichiarare i tipi di argomenti, valori di ritorno e proprietà, e con strict_types attivo il linguaggio li fa rispettare davvero invece di convertire in silenzio.

<?php
declare(strict_types=1);

final class Ordine
{
    public function __construct(
        private readonly string $cliente,
        private readonly array $righe,
    ) {}

    public function totale(): float
    {
        return array_sum(array_map(
            fn(Riga $r): float => $r->prezzo * $r->quantita,
            $this->righe
        ));
    }
}

Costruttori compatti, proprietà immutabili, funzioni freccia, enum, match, tipi unione, attributi. È un linguaggio a oggetti moderno — se il paradigma ti è nuovo, parti da programmazione orientata agli oggetti.

L'ecosistema è maturo. Composer gestisce le dipendenze in modo ordinato. Laravel è uno dei framework web più completi che esistano in qualunque linguaggio, e Symfony è la scelta per progetti aziendali di lunga durata.

<?php
// Una REST API in Laravel
Route::get('/prodotti/{id}', function (int $id) {
    return Prodotto::findOrFail($id);
});

Il punto è questo: la pessima reputazione di PHP viene dal codice scritto nel 2005 e dai tutorial che nessuno ha mai aggiornato, non dal linguaggio di oggi. Il PHP del 2005 era funzioni globali, query SQL concatenate a mano dentro l'HTML, zero struttura. Quel codice esiste ancora, gira ancora, e quando qualcuno ci mette le mani conferma il pregiudizio. Ma non è PHP: è codice vecchio.

Detto questo, un limite vero resta: la libreria standard porta addosso trent'anni di storia, e i nomi delle funzioni sono incoerenti (strlen e str_replace, in_array($ago, $pagliaio) e strpos($pagliaio, $ago)). Si convive, ma è legittimo trovarlo fastidioso.

Dove ha senso e dove no

Caso d'usoPHPPerché
Siti con contenuti, blog, editoriaSì, prima sceltaWordPress e i CMS sono lì
E-commerceWooCommerce, Magento, PrestaShop
API e gestionali webLaravel e Symfony sono ottimi
Tempo reale, chat, WebSocketNoIl modello per richiesta non aiuta
Calcolo intensivo, dati, AINoNessun ecosistema, vai di Python
Mobile, desktop, sistemiNoNon è il suo mestiere

WordPress da solo giustifica l'esistenza di PHP nel 2026. Fa girare qualcosa come il 40% dei siti del mondo, e ognuno di quei siti prima o poi ha bisogno di un tema su misura, un plugin, una correzione. Quel lavoro è PHP.

Errori che fanno perdere ore

Concatenare valori dentro le query SQL. È la porta d'ingresso della SQL injection ed è ancora l'errore più frequente nel codice PHP. Si usano sempre le query preparate:

<?php
// Sbagliato e pericoloso
$sql = "SELECT * FROM utenti WHERE email = '$email'";

// Corretto
$stmt = $pdo->prepare('SELECT * FROM utenti WHERE email = ?');
$stmt->execute([$email]);
$utente = $stmt->fetch();

Lasciare display_errors attivo in produzione. In sviluppo serve; online mostra percorsi di file e dettagli del database a chiunque provochi un errore. Va acceso in locale e spento sul server — vedi variabili d'ambiente per tenere le due configurazioni separate.

Stampare HTML prima di un header() o di session_start(). Anche uno spazio bianco fuori dal tag <?php conta: le intestazioni HTTP devono partire prima del corpo, e ottieni il classico "headers already sent". Per questo nei file che contengono solo classi il tag di chiusura ?> finale si omette.

Seguire tutorial che usano mysql_*. Quelle funzioni sono rimosse dal linguaggio da anni. Se una guida le usa, chiudila: tutto il resto sarà altrettanto datato.

Non usare Composer. Se stai includendo file a mano con require uno per uno, stai facendo il lavoro di uno strumento che esiste dal 2012.

Il mercato del lavoro italiano

Vale la pena dirlo senza giri di parole, perché è un'informazione utile e poco data.

In Italia PHP è molto richiesto e poco ambito, e questa combinazione è un'opportunità. Le agenzie web, le software house di provincia, chiunque gestisca siti di clienti: lavorano in PHP, e cercano di continuo. Nel frattempo chi studia oggi punta quasi tutto su JavaScript e Python, perché sono quelli di cui si parla.

Il risultato è un rapporto tra domanda e offerta migliore di quello che trovi sul frontend, dove ogni posizione junior riceve centinaia di candidature. Se il tuo obiettivo a breve è trovare lavoro, specializzarsi su Laravel o sullo sviluppo WordPress professionale è una strada più corta di quanto il dibattito online lasci pensare. Il quadro completo è in i linguaggi più richiesti in Italia.

Non è la scelta giusta se vuoi lavorare su prodotti tecnologici, startup o intelligenza artificiale: lì PHP non c'è.

In sintesi

PHP nasce per il web e fa ancora girare una quota enorme di internet, WordPress in testa.

Il suo modello è "shared nothing": ogni richiesta parte da zero e finisce lì. Questo lo rende semplice da scalare e robusto agli errori, ma inadatto a tutto ciò che richiede connessioni persistenti.

PHP 8 è veloce, tipizzato quanto vuoi e con un ecosistema maturo. La reputazione negativa riguarda il codice del 2005 e i tutorial mai aggiornati, non il linguaggio di oggi.

Ha senso per siti con contenuti, e-commerce e gestionali web; non ce l'ha per tempo reale, calcolo intensivo, dati e AI.

In Italia è molto richiesto e poco ambito: se cerchi lavoro in tempi brevi, quella sproporzione gioca a tuo favore.

Per collocarlo tra gli altri linguaggi c'è tutti i linguaggi di programmazione; se stai ancora decidendo da dove partire, vedi quale linguaggio imparare nel 2026 e imparare a programmare da zero.