PHP: il linguaggio server-side per il web

PHP: il linguaggio server-side per il web

Che cos’è il PHP

PHP (Hypertext PreProcessor), giunto ad oggi alla versione 7, è un linguaggio di programmazione lato server tra i più famosi utilizzati sul web, creato a metà degli anni 90. PHP è gratis ed è interamente open source, quindi si possono ispezionare liberamente le sue istruzioni interne e la sua documentazione. Servito da migliaia di istruzioni predefinite di ogni genere, elimina la maggioranza dei problemi ai programmatori grazie ad una libreria molto ricca ed estendibile, quasi quanto quella di un sistema operativo.

PHP può essere utilizzato sia in versione stand alone che mediante framework di più alto livello come, ad esempio, Laravel; per combinare più librerie tra di loro si può usare ad esempio Composer.

PHP è forse il più popolare linguaggio di scripting server side presso i clienti dei vari hosting, e questo per una varietà di ragioni: prima di tutto esso, grazie alla cooperazione con MySQL (mediante una apposita estensione installata solitamente in modo standard sui vari server) permette a WordPress e Joomla! di funzionare. Esso fornisce un ampio supporto per funzionalità di  degli errori, ad esempio, facilitando enormemente la fase di produzione e sviluppo dei siti e dei servizi web in generale

Esempi di CMS in PHP

Joomla! e WordPress, ad esempio, è scritto interamente in PHP.

Migliori editor per PHP

Per programmare in PHP si possono sfruttare gli editor (gratuiti e a pagamento):

  1. Eclipse
  2. Visual Studio
  3. Sublime Text
  4. Context
  5. Blue Fish
  6. Dreamweaver
  7. Textwrangler.

Che cos’è un linguaggio di programmazione

Un linguaggio di programmazione, in ambito informatico, è un linguaggio formale che specifica un insieme di istruzioni, ovvero di comandi, che possono essere sfruttate per acquisire dati in input, eseguire operazioni e restituire in output un risultato.

Quando parliamo di linguaggi, pertanto, ci riferiamo quindi al controllo del dispositivo per cui queste applicazioni, o questi script, sono stati progettati; tale dispositivo potrebbe essere ad oggi qualsiasi, quindi un server web, un browser, un’app per PC o per smartphone e così via – verso l’infinito ed oltre. Una cosa molto interessante da sapere, a livello pratico, è che un linguaggio di programmazione è considerato a tutti gli effetti tale solo se è Turing-completo. Una condizione che – no, stavo scherzando :-).

Esempi di linguaggi di programmazione sono Java, C, C++, Python, Assembly, Visual Basic, Javascript e naturalmente PHP, ormai giunto alla versione 7.

Che cos’è un linguaggio server-side

Un linguaggio di programmazione si dice server side se lavora sul server, ad esempio sull’hosting web che produce ed elabora le pagine dei siti che consultiamo ogni giorno. Diversamente, sarebbe stato un linguaggio client side; anni fa la distinzione tra client side (Javascript) e server side (PHP, ASP) era molto rigorosa, ad oggi grazie a nuove architetture ibride come Node.js tale distinzione è diventata quasi puramente accademica. Storicamente, quindi, Javascript lavorava solo sul client – cioè sul browser dell’utente, mentre PHP lavorava lato server dietro le quinte per elaborare i risultati. In realtà ad oggi con opportune architetture o framework anche Javascript riesce ad accedere lato server in modo asincrono, aumentando così le potenzialità del linguaggio e evitando complicazioni in fase di sviluppo.

Vantaggi di PHP

Per quello che riguarda PHP, si tratta di un linguaggio ampiamente documentato (anche in italiano, sul sito php.net) come software totalmente open source –  questo garantisce almeno tre vantaggi:

  1. la possibilità di disporre di qualsiasi modulo aggiuntivo ci possa servire, ad esempio il mod_rewrite o il mod_pagespeed;
  2. esistono molte community (in italiano, ma soprattutto in inglese) che scrivono e discutono sull’argomento, aiutandoci così a risolvere i problemi più comuni;
  3. se le funzioni sono documentate gratuitamente, sono anche utilizzabili senza costi aggiuntivi;
  4. eventuali falle per la sicurezza sono subito note, e quasi subito corrette.

Esempi di codice PHP

PHP deriva dal C, e nonostante sia snobbato da moltissimi programmatori presenta tutti i costrutti classici dei linguaggi di programmazione: cicli FOR, condizioni IF, variabili (identificate dal prefisso $) e così via. Un esempio di uso basico di PHP potrebbe essere:

$a = 0;

$a++;

echo $a;

che stamperà il valore di $ (cioè 1) dopo averlo incrementato di 1 e valorizzato a 0 inizialmente. Non molto utile, certo: ma per arrivare ad esempi più complessi bisogna comprendere bene, anzitutto, i costrutti semplici. Vale anche per chi usa PHP per modificare theme di WordPress o addirittura per creare o modificare plugin: imparate bene le cose semplici, prima di andare su quelle molto avanzate.

Come vedere la versione di PHP

PHP può essere eseguito sia su una pagina web (via browser) che mediante interfaccia di comando, quindi ad esempio:

php -v

restituisce, dai vari terminali dei sistemi operativi, la versione in uso.

Come eseguire uno script in PHP

Basta scrivere da terminale di comando:

php script.php

esegue le istruzioni contenute nel file script.php. Questo è il modo più veloce, da terminale, per testare le prime istruzioni e fare test con il linguaggio: solo in seguito converrà provare a generare un file HTML mediante PHP, dopo che avremo imparato tutte le istruzioni di base.

Cosa si può fare con PHP

In genere, poi, è possibile usare PHP sia da linea di comando (input ed output interamente in un terminale) che al fine di generare markup HTML in modo dinamico (ad esempio per generale la pagina con le ultime news di un sito), quindi sia mediante la sua versione “pura” che mediante opportuni tool di generazione (ad esempio Laravel) e di integrazione dei comandi (uno di questi è ad esempio composer). L’interprete PHP non richiede compilazione del codice, per cui è possibile eseguirlo direttamente e gustarsi il risultato (“gustarsi”, ovviamente, a volte si fa per dire).

In genere PHP è preinstallato su sistemi Linux e Mac, mentre è da installare a parte sui sistemi Windows (download).

Sintassi base di PHP

I blocchi di codice PHP vengono delimitati da <?PHP e da ?>, e in alcuni casi la stringa PHP può essere omessa, quindi <? e poi ?>. Questi blocchi servono a far capire al server, quando verrà richiesta la pagina, quale parte di codice deve essere eseguita e quale, invece,  è una parte di HTML statica. Chiaramente se metterete del codice esternamente a questo blocchi, non sarà eseguito il codice e vedrete il file dentro il browser come un semplice file di testo non eseguibile.

Ecco il nostro primo, mitico Hello World, in una versione decisamente originale (sì, potete copiarlo ed incollarlo in un file prova.php e provare ad aprirlo con php prova.php via terminale, oppure dovrete metterlo nella root del vostro server LAMPP (Windows) o MAMP (Mac, Linux) ed eseguirlo da lì. Non provate ad aprirlo direttamente da browser, perchè NON funzionerà:

<?php
echo "Ciao, mondo infame!";
?>

Per far funzionare questo esempio base, in sostanza:

  1. il file prova.php deve essere inserito nella root del server (ad esempio /var/www/html/ oppure la root indicata dall’app del server, in locale)
  2. il server Apache deve essere attivo e funzionante (http://localhost deve funzionare e mostrare un messaggio tipo “Funziona” oppure “It works!“)
  3. solo adesso, dovete aprire l’indirizzo http://localhost/prova.php e vedrete qualcosa tipo:

Ciao, mondo infame!

nel vostro browser.

Le variabili, le costanti e gli operatori

In breve: le variabili sono le aree di memoria dinamiche in cui posizionare e “ricordarsi” dei valori come stringhe, numeri e così via, le costanti sono le aree statiche che non cambiano mai, gli operatori servono a combinare i valori delle variabili per far fare al nostro codice qualcosa di sensato.

In PHP le variabili si riconoscono dal prefisso $, in modo da distinguerlo dalle costanti e dalle istruzioni. Quindi, se ad esempio volessimo creare una variabile stringa pippo, dovremmo fare così:

$pippo = "il cane";

in questo caso abbiamo assegnato il valore “il cane” alla variabile $pippo. Per saperne di più sulle variabili, leggi l’approfondimento a tema.

I cicli

L’istruzione for viene utilizzata per ripetere delle istruzioni, ad esempio per tutti gli elementi di una lista.

Un esempio di ciclo è il seguente:

<?php
for ($x = 0; $x <= 10; $x++) {
    echo "Il numero è: $x <br>";
} 
?>

che potete riscrivere o decomporre, in questo caso, in termini di while;

<?php
$x=0;
while ( $x <= 10) {
    echo "Il numero è: $x <br>";

   $x++;
} 
?>

La differenza è minima: while significa “mentre la condizione tra parentesi è soddisfatta” esegui le istruzioni tra parentesi graffe, nel caso del for invece eseguiamo a ripetizione l’istruzione a patto di risolvere l’espressione tra parentesi. La prima condizione ($x = 0; ) è quella di partenza, cioè si parte da un valore 0 della variabile $x. La seconda condizione è la condizione da rispettare perchè l’istruzione venga ripetuta ($x <= 10;), la terza invece rappresenta il passo, cioè l’incremento (in questo caso) della variabili che definisce gli step da seguire ($x++), quindi ad esempio 1, 2, 3, …

Le condizioni

Le condizioni, tipicamente con il costrutto if, servono a far decidere al codice cosa fare, a seconda dei casi: e possiamo anche decidere di fare più verifiche a catena sfruttando il costrutto else (altrimenti). Ad esempio, potremmo stabilire di far stampare un saluto all’utente solo se un numero è maggiore di 4:

<?php
$x = 3;
if ( $x>4 ) echo "Ciao!";
else echo "Ti tolgo il saluto";
//stampa Ti tolgo il saluto, si è offeso: condizione non soddisfatta
?>

diverso sarebbe stato se, ad esempio, avessimo dato valore 5 a $x;

<?php
$x = 5;
if ( $x>4 ) echo "Ciao!";
else echo "Ti tolgo il saluto";
//stampa Ciao!, stavolta condizione ok
?>

Quale versione di PHP usare?

Da qualche tempo è in voga la versione 7 di PHP, su cui rimando all’articolo specifico che ho scritto. In genere è preferibile usare PHP 7.1 perchè è la versione che sembra funzionare meglio, ma questa affermazione potrebbe smettere di essere valida già a fine 2018, visto che il linguaggio si aggiorna e si evolve, e le strutture su cui si poggia variano in continuazione e sono soggette esse stesse a cambiamenti.

Versioni di PHP

In molti casi gli hosting permettono di scegliere tra le diverse versioni di PHP, e qui bisogna specificare una cosa importante: contrariamente a quello che si crede, la versione più recente non è necessariamente la migliore. Al momento in cui scriviamo la versione 7.1 è la stable, ovvero si tratta di una versione considerata affidabile per poter girare sulla maggioranza dei sistemi operativi dei server, siano essi Windows o Linux. Altre versioni precedenti potrebbero, a seconda delle architetture in gioco, essere più o meno affidabili o soggette a bug informatici: in genere comunque le alpha e le beta non sono da prendere in considerazione, per quanto recenti possano essere. Infatti queste versioni vengono rilasciate senza alcuna garanzia (in particolare le versioni alpha), e possiedono spesso funzionalità sperimentali che possono andare bene in fase di sviluppo dei siti ma, certamente, non in fase definitiva di pubblicazione del sito (in produzione, come si usa dire).

La possibilità di scegliere la versione PHP che vogliamo è quindi importante per venire incontro alle richieste di certi CMS, ma anche perchè permette un alto livello di personalizzazione, e questo in particolare sui piani di hosting VPS che fanno, in generale, configurare liberamente quello che vogliamo. L’uso di PHP non dovrebbe mai essere superficiale (nemmeno la scelta della versione da usare deve esserlo), pertanto: sia provider che webmaster dovrebbero cooperare per un mantenimento globale del sistema al meglio, quando (purtroppo) in molti casi la superficialità degli uni o degli altri porta alla maggioranza dei problemi sui siti.

Hosting e server con PHP

A livello di hosting e domini, infine, devi cercare dei servizi che supportino questo linguaggio, che è uno dei più diffusi sul web a livello di siti, per cui il problema del supporto il più delle volte neanche si pone: per sicurezza, puoi cercare anche su questo sito degli hosting PHP.

Conclusioni

Non avevo la pretesa di essere davvero esaustivo su un argomento così vasto: questo è solo un piccolo cappello introduttivo sulla programmazione.

Per saperne di più, cerca le altre guide PHP di questo sito.

0 voti


Informazioni sull'autore

Salvatore Capolupo

Consulente SEO, ingegnere informatico e fondatore di Trovalost.it, Pagare.online, Lipercubo.it e tanti altri. Di solito passo inosservato e non ne approfitto.