Iniziare con PHP

La storia del PHP è fatta di continue evoluzioni che lo hanno via via arricchito di nuove funzionalità, integrandolo sempre di più con altri strumenti e portandolo ad essere, oggi, uno dei tool più utilizzati dagli sviluppatori. Per comprendere al meglio PHP dovrai capire quali sono gli elementi dell’architettura di un’applicazione Web oriented e comprendere come il codice PHP interviene all’interno del paradigma imposto dal protocollo http.

La storia di PHP
La storia del PHP cominciò nel 1994 grazie a Rasmus Lerdorf che si impegnò nell’ideazione di una serie di macro Sequenze di comandi e istruzioni attivabili da un singolo comando che consente di eseguire automaticamente determinate operazioni destinate a facilitare l’amministrazione delle Home Page personali: proprio da qui ha tratto origine il nome PHP che è l’acronimo di Personal Home Page. Successivamente le macro di Lerdorf vennero riscritte ed inserite in un pacchetto chiamato PHP/FI Personal Home Page/Form interpreter.
Il progetto PHP ha goduto di un immediato successo tra gli sviluppatori, soprattutto perché è nato nell’ambito di una filosofia di sviluppo di tipo open source Codice sorgente accessibile e modificabile da parte di ogni utente, in virtù della quale il suo codice è stato reso disponibile a tutti.

Ben presto si andò costituendo un nutrito gruppo di sviluppatori che si dedicarono all’implementazione dell’ambiente PHP; nel 1997 il loro impegno produsse il rilascio della versione PHP3, con la quale è iniziata la crescita esponenziale della popolarità di questo linguaggio.
Una crescita alimentata soprattutto dall’introduzione di alcune importanti funzionalità, tra cui sicuramente da ricordare è l’integrazione con il Web server Apache e il database Base di dati: un insieme di dati scritti in una forma specifica che può essere gestita da opportuni programmi per estrarre l’informazione cercata MySQL.

La diffusione del PHP ha raggiunto il suo culmine nel 2000, quando è stata rilasciata la versione 4.0.0 che comprendeva alcune importantissime funzioni, come la gestione dello stato attraverso la gestione della session e un nuovo motore interprete, nel nostro caso chiamato Zend molto più performante del precedente.
Oggi si sta andando verso il rilascio del PHP6, dopo essere passati da varie versioni intermedie che ne hanno rafforzato la fama di linguaggio versatile e potente, il più utilizzato a dispetto di una concorrenza piuttosto agguerrita.

Architettura ed utilizzo
PHP oggi è conosciuto come PHP: Hypertext preprocessor.
Di fatto si tratta di un linguaggio di programmazione e di un interprete (motore) che può essere integrato in un Web server, che può essere del tipo Apache o Internet Information Server. Questo significa che il codice PHP viene interpretato e quindi eseguito su un server Unità di elaborazione che mette a disposizione una o più risorse e servizi per altre unità client in una rete di computer e non sui client Nel contesto delle reti è rappresentato da un computer collegato in rete ad un server. Più utenti contemporaneamente accedono tramite il loro client alle informazioni [risorse] offerte dal server. Nel contesto di “processi” il client è il processo che invia richieste al processo server.

Uno script PHP è un blocco di codice conforme alle specifiche sintattiche e semantiche del linguaggio solitamente inserito in una pagina Html Acronimo di HyperText Markup Language, linguaggio a marcatori per ipertesto: per questo PHP viene definito un linguaggio Html embedded.
La normale interazione tra un server ed un client http HyperText Transfert Protocol, protocollo per il trasferimento di pagine nel World Wide Web, alla base di quello che noi chiamiamo Web, è costituita da una richiesta di un’applicazione client (ad esempio, il nostro browser programma che permette la visualizzazione delle pagine Web e l’utilizzo di tutti quei molteplici servizi offerti dalla navigazione in rete. I browser più utilizzati a livello mondiale sono Internet Explorer, Netscape, Opera e Mozilla preferito), formulata secondo i canoni del protocollo e rivolta a un Web server.
Il server risponde inviando un documento formattato in Html al client, che è in grado di mostrarlo all’utente.
Un documento che prevede del codice PHP è di fatto un documento con estensione php.
Quando il server riceve la richiesta di un documento con questa estensione sa di dover interpretare il codice PHP lì contenuto, codice che contribuirà a generare il documento (formattato ancora in Html) da restituire al client.

Il codice PHP può essere utilizzato per generare codice Html on the fly ma anche per produrre ed inserire nel documento di risposta un codice non Html ma interpretabile dal client, come ad esempio il javascript linguaggio di scripting che viene inserito direttamente all’interno di documenti presenti sul Web e permette di aggiungere funzioni e possibilità di interazione al linguaggio Html. È basato sul linguaggio di programmazione Java, i fogli di stile css acronimo di Cascading Style Sheet. Specifica HTML sviluppata dal World Wide Web Consortium che consente agli autori di pagine Web di associare fogli di stile, cioè una serie di specifiche che riguardano la presentazione di un documento, alle pagine stesse, semplificandone i processi di sviluppo e manutenzione., ecc.
Per far sì che il codice all’interno di un documento venga riconosciuto dall’interprete PHP, e quindi eseguito, si usano degli appositi tag di apertura e chiusura marcatori utilizzati per racchiudere porzioni di codice., posti rispettivamente all’inizio e alla fine di un blocco di codice.
Tutto quello che viene scritto fra questi tag è in codice PHP e quindi non sarà inviato al browser ma verrà eseguito dall’interprete prima che il server risponda alla richiesta del client.
Esempio di utilizzo all'interno di una semplice pagina PHP

Copia codice

<!DOCTYPE html>
<html lang="it">
<head>
<title>Calendario in PHP<title>
<meta charset="utf-8">
</head>
<body>
<p>
<?php
echo 'Oggi è il ';
print Date("l F d, Y");
echo '<br />';
?>
</p>
</body>
</html>
Questo semplice script produrrà una pagina Html che stampa a video la scritta “Oggi è il” seguita da “giorno mese e anno“.

Per poter sviluppare in PHP è necessario innanzitutto predisporre un ambiente di sviluppo che consenta di testare quanto si va progettando.
Se non si ha a disposizione un Web server, indipendentemente dalla piattaforma utilizzata, si può utilizzare Apache, scaricabile dal sito http://www.apache.org per l’installazione e la configurazione del quale si rimanda alla documentazione liberamente consultabile sul sito. Su piattaforme Microsoft solitamente si dispone di Internet Information Server che può anche interpretare il codice PHP, installando il motore specifico. Questo motore, come quelli per altri server, è liberamente scaricabile dal sito ufficiale, in questo caso http://www.php.net/downloads.php per la configurazione, anche in questo caso si rimanda alla documentazione consultabile sul sito ufficiale.

PHP: pro e contro
I motivi della diffusione e del successo riscosso da PHP sono molteplici.
Proviamo a riportare i principali “meriti” del PHP:

  • è un motore di scripting server side letteralmente: lato server. Una applicazione è server side quando viene eseguita sul server per offrire un servizio ai client in rete. Il codice PHP viene eseguito sul server che ospita il sito Web che si sta visitando. completamente open source;
  • è un linguaggio Html embedded, ossia i tag PHP possono essere inseriti all’interno di pagine Html;
  • ha una sintassi molto semplice poiché derivante da altri linguaggi di programmazione molto utilizzati come C, Java, Perl;
  • è possibile utilizzarlo su diverse piattaforme Unix e Windows;
  • supporta la connessione con alcuni dei più usati database Informix, InterBase, mSQL, MySQL, Oracle, dBase.

Una delle principali critiche rivolte a PHP riguardava la lentezza di esecuzione, che con la versione 4 è stata solo parzialmente arginata attraverso l’introduzione del motore Zend, che ne ottimizza le prestazioni e lo rende competitivo con le altre tecnologie concorrenti.
Un’altra critica sollevata spesso è che, trattandosi di un prodotto open source, non esiste un vero e proprio supporto tecnico.
In realtà, esistono moltissime risorse disponibili dedicate a PHP che permettono di affrontare e risolvere tutte le possibili problematiche, rendendo così vano questo tipo di obiezioni.