PHP (
acronimo ricorsivo di PHP Hypertext Preprocessor,
preprocessore di
ipertesti) è un
linguaggio di scripting interpretato, con licenza
open source e parzialmente libera (ma incompatibile con la
GPL), originariamente concepito per la realizzazione di
pagine web dinamiche. Attualmente è utilizzato principalmente per sviluppare
applicazioni web lato server ma può essere usato anche per scrivere
script a
linea di comando o applicazioni
standalone con
interfaccia grafica.
Nato nel
1994 ad opera del danese
Rasmus Lerdorf, PHP era in origine una raccolta di
script CGI che permettevano una facile gestione delle pagine personali. Il significato originario dell’
acronimo era
Personal Home Page (secondo l’annuncio originale di PHP 1.0 da parte dell’autore sul newsgroup comp.infosystems.www.authoring.cgi
[1] ). Il pacchetto originario venne in seguito esteso e riscritto dallo stesso Lerdorf in
C, aggiungendo funzionalità quali il supporto al database
mSQL e prese a chiamarsi
PHP/FI, dove
FI sta per
Form Interpreter (interprete di
form), prevedendo la possibilità di integrare il codice PHP nel codice
HTML in modo da semplificare la realizzazione di pagine dinamiche. In quel periodo, 50.000 domini Internet annunciavano di aver installato PHP.
A questo punto il linguaggio cominciò a godere di una certa popolarità tra i progetti
open source del
web, e venne così notato da due giovani programmatori:
Zeev Suraski e
Andi Gutmans. I due collaborarono nel
1998 con Lerdorf allo sviluppo della terza versione di PHP (il cui acronimo assunse il significato attuale) riscrivendone il motore che fu battezzato
Zend da una contrazione dei loro nomi. Le caratteristiche chiave della versione PHP 3.0 frutto del loro lavoro, erano la straordinaria estensibilità, la connettività ai
database e il supporto iniziale per il
paradigma a oggetti. Verso la fine del 1998 PHP 3.0 era installato su circa il 10% dei server web presenti su Internet.
PHP diventò a questo punto talmente maturo da competere con
ASP, linguaggio
lato server analogo a PHP sviluppato da
Microsoft, e cominciò ad essere usato su larga scala. La versione 4 di PHP venne rilasciata nel
2000 e prevedeva notevoli migliorie. Attualmente siamo alla quinta versione, sviluppata da un
team di programmatori, che comprende ancora Lerdorf, oltre a Suraski e Gutmans.
La popolarità del linguaggio PHP è in costante crescita grazie alla sua flessibilità: nel
Giugno 2001, ha superato il milione di
siti che lo utilizzano. Nell’ottobre
2002,
più del 45% dei
server Apache usavano PHP.
Nel gennaio
2005 è stato insignito del titolo di "Programming Language of 2004" dal
TIOBE Programming Community Index, classifica che valuta la popolarità dei linguaggi di programmazione sulla base di informazioni raccolte dai
motori di ricerca.
Nel
2005 la configurazione
LAMP (
Linux,
Apache,
MySQL, PHP) supera il 50% del totale dei server sulla rete mondiale.
PHP riprende per molti versi la
sintassi del
C, come peraltro fanno molti linguaggi moderni, e del
Perl. È un linguaggio a
tipizzazione debole e dalla versione 5 migliora il supporto al paradigma di
programmazione ad oggetti. Certi costrutti derivati dal
C, come gli operatori fra
bit e la gestione di
stringhe come
array, permettono in alcuni casi di agire a basso livello; tuttavia è fondamentalmente un
linguaggio di alto livello, caratteristica questa rafforzata dall’esistenza delle sue moltissime
API, oltre 3000 funzioni del nucleo base. PHP è in grado di interfacciarsi a innumerevoli
database tra cui
MySQL,
PostgreSQL,
Oracle,
Firebird,
IBM DB2,
Microsoft SQL Server, solo per citarne alcuni, e supporta numerose tecnologie, come
XML,
SOAP,
IMAP,
FTP,
CORBA. Si integra anche con altri linguaggi/piattaforme quali
Java e
.NET e si può dire che esista un
wrapper per ogni libreria esistente, come CURL,
GD,
Gettext, GMP, Ming,
OpenSSL ed altro.
Fornisce un’
API specifica per interagire con
Apache, nonostante funzioni naturalmente con numerosi
server web. È anche ottimamente integrato con il database
MySQL, per il quale possiede più di una
API. Per questo motivo esiste un’enorme quantità di
script e
librerie in PHP, disponibili liberamente su
Internet. La versione 5, comunque, integra al suo interno un piccolo database embedded,
SQLite.
Dispone di un archivio chiamato
PEAR che mette a disposizione un framework di
librerie riusabili per lo sviluppo di applicazioni PHP e di
PECL che raccoglie tutte le estensioni conosciute scritte in C.