PHP è un linguaggio di programmazione general-purpose open source, particolarmente utilizzato nello sviluppo web lato server. Il codice viene elaborato sul server prima che la risposta raggiunga il browser: è questo meccanismo che permette a siti, applicazioni e CMS come WordPress di generare contenuti dinamici. Anche la documentazione ufficiale lo definisce un linguaggio general-purpose particolarmente adatto allo sviluppo web.
Se hai incontrato file con estensione .php, una voce relativa alla versione nel pannello hosting o un avviso di WordPress, il punto da capire è proprio questo: gran parte del lavoro avviene dietro le quinte. Il browser normalmente non riceve il codice sorgente che ha prodotto la pagina, ma il risultato della sua esecuzione.
Vediamo quindi cosa significa realmente, come avviene questo processo e perché questa tecnologia continua a essere importante soprattutto nell’ecosistema WordPress.
Cos’è PHP e cosa significa
PHP consente di scrivere istruzioni, gestire dati, prendere decisioni attraverso condizioni, creare funzioni e classi, interagire con database e produrre contenuti in modo dinamico.
La caratteristica più importante per comprenderne l’utilizzo sul web è però dove viene eseguito il codice.
L’elaborazione avviene normalmente sul server. Un visitatore richiede una pagina, il server esegue le istruzioni necessarie e restituisce al browser il risultato.
Questo permette, per esempio, di mostrare contenuti diversi in base all’utente, recuperare informazioni da un database, elaborare un modulo, autenticare una persona o costruire automaticamente una pagina.
È un linguaggio di scripting o di programmazione?
Viene spesso definito linguaggio di scripting, ma non è corretto contrapporre rigidamente “linguaggio di scripting” e “linguaggio di programmazione”.
Si tratta a tutti gli effetti di un linguaggio di programmazione general-purpose. Il termine “scripting” descrive soprattutto il modo in cui è stato storicamente utilizzato e integrato in determinati ambienti.
Anche la vecchia distinzione secondo cui un linguaggio di programmazione sarebbe necessariamente compilato mentre uno di scripting sarebbe necessariamente interpretato è troppo semplicistica. Le implementazioni moderne possono utilizzare compilazione intermedia, opcode, JIT e altre tecniche.
Per capire cosa succede sul web è molto più utile ricordare una distinzione concreta:
- il codice viene elaborato sul server;
- il browser riceve il risultato dell’elaborazione;
- normalmente il visitatore non vede il sorgente che ha prodotto quella risposta.
È questo modello, più dell’etichetta “script”, a spiegare davvero il funzionamento.
Perché si chiama PHP: Hypertext Preprocessor
PHP è un acronimo ricorsivo: oggi significa “PHP: Hypertext Preprocessor”.
Il nome richiama uno dei suoi utilizzi storici principali: elaborare informazioni sul server e produrre contenuti destinati al web.
Nel tempo il linguaggio è diventato molto più ampio di un sistema per inserire piccoli script nelle pagine HTML. Supporta programmazione orientata agli oggetti, namespace, gestione delle eccezioni, enumerazioni, generatori, attributi e numerose altre funzionalità tipiche di un linguaggio moderno.
Come funziona lato server
Per comprenderne il funzionamento conviene seguire una normale richiesta web dall’inizio alla fine.
Immagina di visitare:
https://esempio.it/profilo.php
Il browser non apre direttamente quel file come farebbe con un documento salvato sul computer. Invia invece una richiesta al server che ospita il sito.
Il processo, semplificato, è questo:
- il browser richiede una risorsa;
- il server web riceve la richiesta;
- se la risorsa contiene logica server-side, il codice viene passato all’ambiente configurato;
- vengono eseguite le istruzioni;
- durante l’elaborazione possono essere letti file, processati dati o interrogati database;
- viene costruita una risposta;
- il server la invia al browser;
- il browser interpreta ciò che ha ricevuto.
Il linguaggio si colloca quindi tra la richiesta iniziale e il contenuto finale restituito al visitatore.
Questo modello spiega perché una pagina apparentemente identica può produrre risultati differenti per utenti differenti: la risposta può essere costruita al momento della richiesta.
Cosa succede dal browser al server e ritorno
Consideriamo un sito con area riservata.
Quando apri la pagina del tuo profilo, l’applicazione può verificare la sessione dell’utente, individuarne l’identificativo, recuperare dal database nome e preferenze e utilizzare queste informazioni per creare la pagina.
Un altro utente richiede lo stesso URL, ma il server dispone di dati differenti sulla sua sessione. L’applicazione elabora quindi informazioni diverse e genera una risposta diversa.
Lo stesso meccanismo viene utilizzato per:
- login;
- carrelli ecommerce;
- aree riservate;
- motori di ricerca interni;
- form;
- pannelli amministrativi;
- cataloghi;
- pagine generate da un CMS.
Ciò che appare nel browser è quindi soltanto l’ultimo passaggio di un processo che può coinvolgere più componenti.
HTML, CSS e JavaScript: quali sono le differenze
Qui nasce una delle confusioni più frequenti.
HTML, CSS, JavaScript e PHP non svolgono la stessa funzione.
| Tecnologia | Ruolo principale | Dove opera normalmente |
|---|---|---|
| HTML | struttura e significato del contenuto | browser |
| CSS | presentazione e stile | browser |
| JavaScript | logica e interazione; può funzionare anche lato server | browser e altri runtime |
| PHP | logica ed elaborazione server-side | server |
HTML non è un linguaggio di scripting: è un linguaggio di markup. Serve a descrivere la struttura del documento.
CSS definisce invece la presentazione: colori, tipografia, spaziature, layout e altri aspetti visuali.
JavaScript è un linguaggio di programmazione che nel browser può gestire interazioni, modificare il DOM, reagire agli eventi e comunicare con servizi remoti. Può inoltre essere eseguito lato server attraverso runtime dedicati.
La logica server-side interviene invece prima che la risposta raggiunga il browser.
Queste tecnologie possono quindi collaborare nella stessa pagina senza essere intercambiabili.
Il server può decidere quale contenuto mostrare; HTML lo struttura; CSS ne definisce l’aspetto; JavaScript può modificarne il comportamento dopo il caricamento.
Cos’è un file .php e cosa riceve realmente il browser
Un file con estensione .php è normalmente una risorsa che il server è configurato per elaborare attraverso il runtime del linguaggio.
Può contenere esclusivamente codice oppure combinarlo con HTML.
La guida introduttiva ufficiale mostra proprio questo meccanismo: istruzioni server-side possono essere inserite all’interno di un documento HTML e il server restituisce il risultato dell’esecuzione.
C’è però una distinzione importante.
Il browser non deve necessariamente ricevere un “file PHP”.
L’applicazione può generare:
- HTML;
- JSON per un’API;
- XML;
- testo;
- file prodotti dinamicamente;
- redirect;
- header HTTP;
- altri formati compatibili con la risposta inviata.
L’estensione riguarda quindi il modo in cui il server tratta la risorsa, non il formato che il visitatore deve necessariamente ricevere.
A cosa serve PHP
Il linguaggio è nato con una forte vocazione web e ancora oggi viene utilizzato soprattutto per costruire la parte server-side di siti e applicazioni.
Può gestire sia operazioni molto semplici sia sistemi complessi.
Creare pagine e applicazioni web dinamiche
Una pagina HTML statica restituisce sostanzialmente il contenuto già scritto nel file.
Un’applicazione server-side può invece costruire il contenuto sulla base dello stato dell’applicazione.
Supponiamo di avere un sito editoriale con migliaia di articoli. Non serve creare manualmente migliaia di documenti HTML completi.
L’applicazione può avere un template comune e recuperare dal database titolo, testo, autore, immagini e data dell’articolo richiesto. Questi elementi vengono combinati per generare la pagina.
È un modello molto più adatto a contenuti che cambiano frequentemente o vengono amministrati da un CMS.
Gestire form, sessioni e dati
Consideriamo un form di contatto.
HTML crea i campi che l’utente vede, ma qualcuno deve ricevere i valori inviati e decidere cosa farne.
Uno script può:
- ricevere i dati;
- controllare che siano presenti;
- validarli;
- normalizzarli;
- eseguire ulteriori controlli di sicurezza;
- registrarli o passarli a un altro servizio;
- generare la risposta da mostrare all’utente.
Lo stesso principio vale per login, sessioni e altre operazioni che richiedono uno stato lato server.
È importante però non confondere la presenza di questa tecnologia con la sicurezza automatica: validazione degli input, escaping dell’output, gestione delle autorizzazioni, query sicure e corretta configurazione restano responsabilità dell’applicazione.
Collegarsi a database e CMS
Uno degli utilizzi più comuni è interagire con un database.
Pensa a un ecommerce.
Informazioni come prodotti, prezzi, ordini e clienti non vengono normalmente replicate a mano in migliaia di pagine HTML. Sono archiviate in strutture dati e recuperate quando servono.
Il codice server-side può ricevere una richiesta, interrogare il database, elaborare le informazioni e costruire la risposta.
È proprio questo tipo di architettura che permette a un CMS di separare:
contenuto → logica applicativa → template → output visualizzato.
Un esempio semplice: dal codice al risultato
Un piccolo esempio permette di vedere immediatamente la differenza tra codice sorgente e risultato inviato al browser.
<?php $titolo = 'Ciao dal server'; ?> <h1><?php echo $titolo; ?></h1>
Il file contiene una variabile chiamata $titolo.
La prima istruzione le assegna il valore:
Ciao dal server
Più avanti echo inserisce quel valore dentro un elemento HTML <h1>.
Come leggere le istruzioni principali
Il blocco:
<?php
indica l’ingresso nel codice PHP.
Questa istruzione:
$titolo = 'Ciao dal server';
crea una variabile e le assegna una stringa.
Infine:
<?php echo $titolo; ?>
produce l’output corrispondente al valore della variabile.
Per un esempio così semplice il linguaggio non è realmente necessario: potresti scrivere direttamente il testo nell’HTML. Diventa utile quando $titolo non è fisso ma dipende, per esempio, dal contenuto richiesto, da un database, dall’utente autenticato o da un’elaborazione precedente.
Cosa viene eseguito sul server e cosa compare nel browser
Dopo l’elaborazione, il browser può ricevere qualcosa di equivalente a:
<h1>Ciao dal server</h1>
Il codice:
$titolo = 'Ciao dal server';
non deve essere inviato al browser.
Questo dettaglio separa la logica applicativa lato server dalla rappresentazione finale ricevuta dal client.
Non significa però che tutto ciò che inserisci nel sorgente diventi automaticamente sicuro. Password, chiavi API e altri segreti richiedono comunque una gestione corretta: errori di configurazione, repository pubblici, log o vulnerabilità possono esporre dati che non dovrebbero esserlo.
Perché WordPress dipende dal linguaggio lato server
Se utilizzi WordPress, stai già utilizzando PHP anche se non scrivi personalmente una riga di codice.
WordPress è un CMS che utilizza questo linguaggio come tecnologia fondamentale della propria componente server-side.
Quando qualcuno visita una pagina del sito, WordPress deve capire quale contenuto è stato richiesto, recuperare le informazioni necessarie, eseguire la logica del core e delle estensioni coinvolte e costruire la risposta.
È attraverso il codice server-side che avviene una parte importante di questo lavoro.

Cosa succede quando WordPress genera una pagina
Consideriamo la pagina di un articolo.
In modo semplificato, WordPress deve:
- interpretare la richiesta;
- identificare il contenuto corretto;
- recuperare informazioni dal database;
- verificare configurazione e stato del sito;
- eseguire hook e funzioni necessarie;
- coinvolgere tema e plugin;
- generare l’output finale.
La versione installata sul server può quindi avere conseguenze concrete sulla compatibilità del sito.
Un plugin WordPress, per esempio, può contenere PHP insieme a JavaScript, CSS e altri asset. Il fatto che WordPress utilizzi questo linguaggio non significa quindi che ogni sua componente sia costituita esclusivamente da codice server-side.
Devi conoscere PHP per usare WordPress?
No. Per utilizzare WordPress non è necessario conoscere PHP.
Puoi creare pagine, pubblicare articoli, cambiare molte impostazioni, installare temi e configurare plugin senza programmare.
La situazione cambia quando vuoi intervenire sulla logica del sistema.
Conoscere il linguaggio diventa utile se vuoi:
- sviluppare plugin;
- creare integrazioni;
- scrivere funzioni personalizzate;
- lavorare sugli hook di WordPress;
- comprendere errori provenienti dal codice server-side;
- sviluppare temi con logica personalizzata;
- analizzare problemi di compatibilità.
C’è quindi una differenza sostanziale fra usare WordPress e sviluppare per WordPress.
Nel primo caso il codice può restare quasi invisibile. Nel secondo diventa una competenza molto più importante.
Quando diventa utile per temi, plugin e personalizzazioni
Un errore frequente è pensare che imparare questo linguaggio significhi semplicemente aprire functions.php e iniziare ad aggiungere codice.
È un approccio rischioso.
Modificare direttamente un tema parent può farti perdere le modifiche durante un aggiornamento. Intervenire direttamente sui file di un plugin crea lo stesso tipo di problema e rende più difficile mantenere il sito.
A seconda della personalizzazione è preferibile utilizzare l’architettura corretta di WordPress: un plugin dedicato, gli hook previsti dal sistema, uno snippet gestito in modo appropriato oppure, per modifiche al tema che lo richiedono, un tema child WordPress.
Prima di intervenire su un sito in produzione sono inoltre utili backup e ambiente di staging.
La competenza tecnica serve quindi soprattutto a capire dove deve vivere una personalizzazione, non soltanto a riuscire a scrivere una funzione che apparentemente funziona.
Versioni supportate ed End of Life: perché contano
PHP viene sviluppato attraverso rami di versione con un ciclo di supporto definito.
Secondo la pagina ufficiale delle versioni supportate, una release branch riceve un periodo di supporto attivo seguito da una fase dedicata alle correzioni di sicurezza. Quando raggiunge l’End of Life non riceve più gli aggiornamenti ufficiali previsti dal progetto.
Questo è più importante del numero di versione preso isolatamente.
Un sito che utilizza un ramo fuori supporto può continuare apparentemente a funzionare, ma non beneficia più delle correzioni future previste per quella release.
Versione stabile, supportata e compatibile non significano la stessa cosa
Non bisogna confondere tre concetti:
- ultima release disponibile;
- versione ancora ufficialmente supportata;
- versione appropriata per la tua applicazione.
Non sono necessariamente la stessa cosa.
La numerazione cambia nel tempo e, proprio per questo, non ha senso costruire una guida evergreen attorno all’idea che un particolare numero debba restare “la versione da usare”.
Se gestisci un sito reale, la domanda utile non è:
“Qual è il numero più alto che posso selezionare?”
È invece:
“Qual è una versione supportata e compatibile con tutto il mio stack?”
Stabile e pre-release non sono la stessa cosa
Alpha, beta e release candidate hanno un ruolo importante nello sviluppo del software: permettono di testare modifiche e incompatibilità prima della release definitiva.
Non devono però essere trattate automaticamente come versioni appropriate per un sito di produzione.
Vale anche il principio opposto: mantenere per anni una release obsoleta solo perché “il sito funziona” espone il progetto a rischi tecnici e di manutenzione.
La gestione corretta cerca un equilibrio fra:
supporto ufficiale + compatibilità + test + aggiornamento.
Per verificare lo stato corrente, il riferimento corretto resta la tabella ufficiale del ciclo di supporto, non un numero congelato dentro un articolo.
Quale versione consiglia WordPress
Per WordPress è particolarmente importante distinguere compatibilità minima e configurazione raccomandata.
I requisiti ufficiali WordPress indicano la versione consigliata corrente e vanno verificati quando devi configurare o aggiornare un sito.
Una release molto vecchia può continuare a essere tecnicamente accettata in alcuni ambienti legacy, ma questo non significa che rappresenti una scelta consigliabile o ancora supportata dal progetto PHP.
Prima di un upgrade importante:
- esegui un backup;
- controlla tema e plugin;
- verifica eventuale codice personalizzato;
- testa quando possibile su staging;
- controlla i log dopo il passaggio.
Su un sito complesso, compatibilità e supporto contano più dell’inseguimento automatico dell’ultima versione disponibile.
Quanto è ancora diffuso sul web?
PHP continua ad avere una presenza molto ampia.
Per interpretare correttamente i numeri, però, bisogna leggere la metodologia e non trasformare una statistica in uno slogan.
Come leggere i dati sulla diffusione
W3Techs monitora la diffusione delle tecnologie server-side e continua a collocare questo linguaggio fra quelli più utilizzati nei siti per i quali riesce a identificare la tecnologia lato server.
La parte decisiva è proprio “per i quali riesce a identificare la tecnologia”.
Il dato non deve quindi essere letto come la percentuale assoluta di qualsiasi sito esistente su Internet. Descrive la quota rilevata all’interno del perimetro metodologico del servizio.
È comunque sufficiente a mostrare una cosa: non stiamo parlando di una tecnologia marginale o scomparsa.
Perché WordPress continua a renderlo rilevante
Una parte importante della sua diffusione deriva dall’ecosistema costruito nel tempo.
WordPress ne è l’esempio più evidente, ma non è l’unico. Esistono CMS, framework, piattaforme ecommerce, librerie, hosting e applicazioni che dipendono da questo stack.
Ne deriva una conseguenza concreta: anche se oggi esistono numerose alternative per sviluppare applicazioni web lato server, una grande quantità di software ha ancora bisogno di sviluppo, manutenzione, hosting e infrastrutture compatibili.
La domanda “è ancora utilizzato?” è quindi molto diversa da “è la scelta migliore per qualsiasi nuovo progetto?”.
Alla prima la risposta è sì.
Alla seconda non esiste una risposta universale.
Limiti e scenari in cui possono servire tecnologie diverse
Non bisogna scegliere un linguaggio semplicemente perché è diffuso.
La tecnologia corretta dipende dall’architettura del progetto, dalle competenze del team, dall’ecosistema necessario, dagli strumenti già adottati e dai requisiti di deployment e manutenzione.
PHP è particolarmente naturale quando:
- lavori in un ecosistema già basato su questo stack;
- sviluppi per WordPress;
- utilizzi CMS o framework compatibili;
- disponi di hosting e competenze già orientati a questa tecnologia;
- devi mantenere o estendere un’applicazione esistente.
In altri progetti possono avere più senso JavaScript o TypeScript lato server, Python, Java, Go, Ruby, .NET o altre soluzioni.
Non esiste quindi un confronto serio del tipo “PHP è sempre più veloce di X” oppure “X è sempre migliore”.
Le prestazioni dipendono dal codice, dall’architettura, dal runtime, dalla configurazione, dal database, dalla cache, dall’infrastruttura e dal carico di lavoro reale.
Per lo stesso motivo non è corretto trasformare la scelta del linguaggio in un presunto vantaggio SEO diretto. La qualità tecnica del sito può influire sull’esperienza dell’utente, ma la tecnologia server-side, presa isolatamente, non determina il posizionamento di una pagina.
Da dove iniziare se vuoi imparare PHP
Se il tuo obiettivo è imparare PHP, partire subito da un framework complesso rischia di nascondere i concetti fondamentali che dovresti comprendere.
Meglio costruire prima il modello mentale.
Le basi da conoscere prima di scrivere applicazioni
Un percorso sensato comprende:
- differenza tra client e server;
- basi di HTML;
- richieste e risposte HTTP;
- sintassi del linguaggio;
- variabili e tipi;
- operatori;
- condizioni e cicli;
- array;
- funzioni;
- form e input;
- sessioni e cookie;
- database;
- gestione degli errori e delle eccezioni;
- sicurezza dell’input e dell’output;
- programmazione orientata agli oggetti.
A quel punto framework, dependency manager, testing e architetture più complesse diventano molto più facili da comprendere.
Ambiente locale, editor e documentazione ufficiale
Per imparare non è necessario modificare direttamente un sito WordPress online.
Puoi utilizzare un ambiente locale o di sviluppo isolato e lavorare su piccoli esempi.
La documentazione ufficiale PHP dovrebbe restare uno dei riferimenti principali: contiene tutorial iniziali, riferimento del linguaggio, funzioni, sicurezza e documentazione delle estensioni.
Imparare a consultare la documentazione è importante quasi quanto ricordare la sintassi. Nessuno sviluppatore lavora affidandosi soltanto alla memoria.
Quando serve una guida dedicata alla programmazione
Questa pagina ha un obiettivo preciso: spiegare cos’è PHP, come funziona e perché viene utilizzato.
Se vuoi imparare a sviluppare applicazioni complete, il sub-intent diventa molto più ampio e merita un percorso separato.
A quel punto entrano in gioco argomenti come:
- Composer e gestione delle dipendenze;
- autoloading;
- programmazione orientata agli oggetti avanzata;
- standard e convenzioni;
- framework;
- testing;
- API;
- sicurezza applicativa;
- architettura;
- deployment.
Inserirli tutti qui renderebbe più difficile rispondere bene alla domanda iniziale anziché rendere la guida più completa.
Conclusione
PHP è più semplice da capire quando smetti di considerarlo soltanto “il codice che finisce nei file .php” e lo collochi nel percorso completo di una richiesta web.
Il browser chiede una risorsa, il server esegue la logica necessaria, l’applicazione può elaborare dati e interagire con altre componenti, quindi viene restituita una risposta utilizzabile dal browser.
Da questo modello derivano quasi tutte le altre risposte.
Spiega perché il linguaggio può generare pagine dinamiche, perché collabora con HTML senza essere HTML, perché può accedere a un database e perché è così importante nell’architettura di WordPress.
Se utilizzi semplicemente WordPress, puoi lavorare per anni senza diventare programmatore PHP. Se invece vuoi sviluppare plugin, personalizzazioni o comprendere realmente ciò che accade lato server, conoscerlo cambia radicalmente il livello di controllo che hai sul progetto.
C’è infine un principio da ricordare: non basta che una determinata versione faccia funzionare il sito oggi. Deve essere ancora supportata ed essere compatibile con l’applicazione che stai eseguendo. Per un sito WordPress significa verificare periodicamente ambiente server, core, tema, plugin e codice personalizzato, invece di considerare questa componente un’impostazione da scegliere una volta e dimenticare.
