Ciao, e benvenuto nella seconda puntata della venticinquesima stagione. Nella scorsa puntata abbiamo detto che PHP è nato per il web, per fare pagine. Oggi vediamo la sua idea originale, quella geniale e semplice da cui tutto è partito, e che ancora oggi ne definisce il carattere: mettere il codice direttamente dentro la pagina. È un'idea che sembra ovvia oggi, ma che ai suoi tempi risolse un problema reale in modo brillante, e che spiega perché PHP sia diventato così accessibile e diffuso. Oggi capiamo cos'è, e perché ha aperto le porte del web a tantissime persone.
Partiamo dal problema che c'era prima, dalla stagione sulla storia del frontend. Ricordi la differenza tra una pagina statica, sempre uguale, e una pagina dinamica, che cambia? All'inizio il web era fatto di pagine statiche: documenti fissi, scritti una volta e serviti sempre identici. Ma presto si volle qualcosa di più: pagine che cambiassero, che mostrassero contenuti diversi a seconda della situazione, dell'utente, del momento. E qui nasceva il problema: come si fa a costruire una pagina che, invece di essere fissa, viene generata al momento, adattandosi? I modi che c'erano erano complicati e scomodi, roba da esperti. Serviva un modo semplice per rendere dinamiche le pagine.
Ed ecco l'idea di PHP, che voglio farti apprezzare nella sua semplicità geniale. L'idea era: parti da una normale pagina scritta come al solito, in linguaggio delle pagine web, quello statico. Ma, nei punti in cui vuoi qualcosa di dinamico, invece del contenuto fisso, inserisci un pezzetto di codice PHP, una piccola istruzione. Quando la pagina viene servita, quei pezzetti di codice vengono eseguiti e sostituiti con il contenuto reale che producono, mentre tutto il resto della pagina resta com'è. Il risultato è una pagina normale, ma con delle isole di codice dentro, che generano le parti dinamiche. Codice immerso dentro la pagina, che prende vita al momento di servirla.
Voglio darti un'immagine per rendere questo concreto, perché è il cuore dell'idea. Immagina una lettera prestampata, uguale per tutti, ma con degli spazi vuoti da riempire: nome del destinatario, data, importo. La parte fissa è stampata una volta; gli spazi vuoti vengono riempiti di volta in volta con i dati giusti. PHP funziona così con le pagine: la parte fissa della pagina è scritta normalmente, e negli spazi che devono cambiare metti dei pezzetti di codice PHP che, al momento di servire la pagina, riempiono quegli spazi con il contenuto giusto. La pagina è un modello prestampato con dei buchi, e PHP riempie i buchi al momento. È un'idea semplice e potentissima.
Voglio farti capire perché questa idea abbia avuto un successo enorme, perché tocca un tratto essenziale di PHP: l'accessibilità. Prima di PHP, rendere dinamica una pagina richiedeva competenze da esperti, strumenti complicati. Con PHP, chiunque sapesse già fare una pagina web statica poteva, con un piccolo sforzo in più, aggiungere qualche pezzetto di codice qua e là per renderla dinamica. Non dovevi imparare tutto un mondo nuovo: partivi da ciò che già sapevi, la pagina, e ci aggiungevi gradualmente un po' di dinamismo. Questa barriera d'ingresso bassissima, questo poter cominciare in piccolo da dove si era, ha aperto le porte del web dinamico a una marea di persone che altrimenti ne sarebbero rimaste fuori. PHP ha reso il web dinamico accessibile a tutti.
Voglio evidenziare che questa accessibilità è un tratto fondamentale del carattere di PHP, nel bene e, come vedremo, anche nel male. La bassa barriera d'ingresso, il poter fare cose utili subito, con poco, partendo da poco, è forse la caratteristica più profonda di PHP, quella che ne ha decretato la diffusione enorme. È un linguaggio profondamente democratico, alla portata di tutti, che non chiede grandi prerequisiti per iniziare a essere utile. Questa è una grande virtù, che ha permesso a moltissimi di costruire cose sul web. Ma, lo anticipo, ha anche un rovescio, perché una barriera bassa fa entrare tutti, anche chi scrive codice sciatto, e questo peserà sulla reputazione di PHP. Ci torneremo. Per ora, tieni l'accessibilità come tratto chiave.
Voglio essere onesto anche su un altro punto, che prepara una puntata futura: mescolare codice e pagina, così comodo all'inizio, diventa un problema quando le cose crescono. Finché la pagina è piccola e ha poche isole di codice, il modello è chiaro e comodo. Ma quando un'applicazione diventa grande e complessa, e codice e pagina si mescolano sempre di più, il risultato può diventare un groviglio ingestibile, un intreccio confuso di logica e presentazione tutto appiccicato insieme. Questa idea originale, geniale per le cose piccole, mostra i suoi limiti sulle cose grandi, e vedremo come PHP abbia dovuto crescere per superarli. Ma questo è il capitolo della maturazione, che affronteremo più avanti.
Per oggi ci fermiamo qui. L'idea originale di PHP, geniale e semplice, è mettere il codice direttamente dentro la pagina: parti da una pagina normale e, dove vuoi qualcosa di dinamico, inserisci dei pezzetti di codice che, al momento di servirla, riempiono quegli spazi con il contenuto giusto, come una lettera prestampata con dei buchi da riempire. Questa idea ha reso il web dinamico accessibile a chiunque sapesse fare una pagina, con una barriera d'ingresso bassissima: l'accessibilità è il tratto profondo di PHP, nel bene e nel male. Ma mescolare codice e pagina, comodo in piccolo, diventa un groviglio in grande, e ci torneremo. Nella prossima puntata affrontiamo il cuore tecnico: vivi, servi, muori. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.