La bella favola delle pagine web
Ogni volta che visualizziamo una pagina web, ci sono dei sistemi informatici che interagiscono così: «Buongiorno. Sono Chrome, vengo da Milano, mi manda Mac OS X e vorrei la pagina web all’indirizzo www.webhouseit.com». Questo chiede il programma client (che nel nostro caso è il famoso browser di Google). «OK. La pagina web è <html><head>…» risponde il programma server, che è in esecuzione probabilmente in un’altra parte d’Italia (o del mondo).
Questo dialogo, che sarà probabilmente una favola per i bambini qualche secolo più in là, è una spiegazione semplicistica di come funziona HTTP (Hyper Text Transfer Protocol), il protocollo con cui i computer di tutto il mondo si scambiano contenuti. Nel nostro caso Chrome riceve un documento HTML statico in formato testo e disegna graficamente la pagina web.
Cosa dobbiamo fare se vogliamo inserire dati dinamici? Dobbiamo riuscire a programmare il comportamento del server. Il linguaggio PHP ci aiuta in questo.
PHP è easy
PHP è un acronimo ricorsivo che significa PHP: Hypertext Processor. È in linguaggio di scripting che viene interpretato da un server, il quale poi esegue comandi. Di server web ne esistono di tutti i tipi, ma uno particolarmente semplice, veloce e comodo per la nostra situazione è EasyPHP. È scaricabile dal sito (ci interessa il DevServer) e una volta installato rende il nostro sistema abile a “capire” il PHP. Per programmare basterebbe il Blocco Note di Windows, ma il mio consiglio è di usare un editor più evoluto come Visual Studio Code o Atom.
Cominciamo a smanettare
Andiamo in <cartella-installazione-easyPHP>/eds-www e creiamo un nuovo file dal nome hello_world.php. In questo file scriviamo:
<?php echo "Hello world"; ?>
Possiamo notare due cose: la prima è l’estensione della pagina web: .php. La seconda è che il codice viene racchiuso tra <?php e ?>. Vediamo il risultato!
Apriamo un browser e nella barra degli indirizzi scriviamo: http://localhost:80/hello_world.php. Grandioso! Tasto destro sulla pagina, andiamo a vedere la sorgente della pagina: c’è scritto solo Hello world: infatti il comando echo scrive semplicemente la stringa che specifichiamo come argomento, non si preoccupa di creare tag HTML. A meno che non li scriviamo noi.
Facciamo un’altra prova:
<?php echo "<h1>Hello world!</h1>"; ?>
Uno dei grandi punti di forza del PHP è la facilità di integrazione con l’HTML, in qualsiasi modo. Nella nostra pagina .php scriviamo:
<h1><?php echo “Hello world”; ?></h1>
Magia! Il risultato è lo stesso. Non ci sorprende, no? Infatti, quando riceve la richiesta da parte del client, il server legge la pagina hello_world.php, elabora il codice contenuto nei blocchi <?php … ?> e invia come risposta solo codice HTML. Chi ha già scritto pagine web “a mano” sa che il nostro esempio non dà come risultato una pagina HTML5 valida. È ora di fare sul serio:
<!doctype html> <html> <head></head> <body> <p><?php echo “Hello world”; ?></p> </body> </html>
Il nostro server restituisce ora pagine web, rispondendo a richieste HTTP! Se non l’avessero già fatto, avremmo inventato il web. Scherzi a parte, il PHP è un linguaggio potente e permette di sviluppare anche sistemi molto complessi: forse avrete già sentito parlare di WordPress.
Vai alla seconda parte della guida: Guida PHP per principianti – Parte 2