PHP

PHP è un linguaggio di scripting Open Source utilizzato per la realizzazione di pagine web dinamiche. Il suo nome è un acronimo ricorsivo che sta per PHP: Hypertext Preprocessor (PHP: preprocessore per ipertesti).

Indice

Cenni storici

Nato nel 1994 ad opera del tedesco Rasmus Lerdorf, PHP era in origine una raccoolta di tool CGI che permettevano una facile gestione delle pagine personali. Per questo motivo il significato originario dell'acronimo era Personal Home Page. Il pacchetto originario venne in seguito esteso dallo stesso Lerdorf con dei tool per la gestione dei form, e perciò la seconda versione di PHP 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, semplificando così la realizzazione di pagine dinamiche.

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 alla terza versione di PHP (il cui acronimo assunse il significato attuale) riscrivendone il motore che, in loro onore, fu battezzato Zend, da una contrazione dei loro nomi.

PHP diventò a questo punto talmente maturo da competere con ASP, linguaggio server-side 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 semplicità: nel Giugno 2001, ha superato il milione di siti che lo utilizzano. Nell'ottobre 2002, [http://www.securityspace.com/s_survey/data/man.200210/apachemods.html più del 45% dei server ] 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.

Caratteristiche

PHP riprende per molti versi la sintassi C, come peraltro fanno molti linguaggi moderni; riprende però anche alcune caratteristiche sintattiche del Perl, per facilitare l'apprendimento a chi già sviluppa in questo linguaggio.

È un linguaggio poco tipizzato, il che facilita lo sviluppo di piccole applicazioni. A partire dalla versione 5, si può dire che supporta seriamente la programmazione a 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 dalla cura quasi pignola che viene dedicata allo sviluppo delle sue moltissime API. Si può dire che PHP sia in grado di supportare ed interfacciarsi con qualunque tecnologia: possiede interfacce native per moltissimi DBMS, per XML, per IMAP, FTP, la creazione di immagini di vari formati, CORBA, Java, .NET e perfino alcune librerie GNU. Tutto ciò non appesantisce troppo il linguaggio perché ogni singolo modulo può essere disabilitato dal file di configurazione. Inoltre PHP, sebbene sia concepito per la programmazione Web, funziona anche da riga di comando.

Fornisce un'API specifica per interagire con Apache, nonostante funzioni naturalmente con qualsiasi server. È anche ottimamente integrato con MySQL, per il quale possiede ben due API. Per questo motivo esiste un'enorme quantità di script e librerie in PHP, disponibili liberamente su Internet, che interagiscono con MySQL. La versione 5, comunque, integra al suo interno un piccolo DBMS embedded, SQLite.

Esempio di codice

Hello, world!

Il seguente esempio stampa il testo "Hello world".

<?php 
    echo "Ciao Mondo!";
  ?>
 

99 Bottles of Beer

Il seguente esempio stampa il testo della canzone 99 Bottles of Beer.

<?php
 /*
  * Questo è un commento. Altri modi per commentare sono i simboli // e #
  * Questo tipo di commenti non ha bisogno degli asterischi (*) all'inizio
  * di ogni riga, ma lo si fa per convenzione. I simboli // e #
  * commentano solo il testo che si trova dopo di essi e fino alla fine della riga;
  * non c'è bisogno di finire il commento con qualche carattere speciale.
  */
 
 /*
  * Prima definiamo una funzione chiamata "plural".
  * Restituisce una "s" se l'argomento passato non è 1.
  */
 function plural($number) {
    return ($number != 1 ? "s" : "");
    // L'operatore ternario è una struttura condizionale simile a if-else: (condizione ? true : false)
 }
 
 // Definiamo una variabile chiamata $l che contiene un a capo HTML,
 // un carattere di ritorno e uno di nuova riga:
 $l = "
\r\n"; for ($i = 99; $i > 0; $i--) { print "$i bottle" . plural($i) . " of beer on the wall,$l"; // Non abbiamo bisogno di ripetere il comando print per ogni riga: print "$i bottle" . plural($i) . " of beer.$l Take one down, pass it around,$l" . ($i - 1 != 0 ? $i - 1 : "no more") . " bottle" . plural($i - 1) . " of beer on the wall.$l$l"; /* * PHP permette di creare stringhe su più righe, finché * trova un punto e virgola (;) che termina l'istruzione. * Un punto (.) concatena insieme più stringhe. * Le variabili, che iniziano con il carattere "$", sono interpetate * anche dentro i doppi apici ("), ma non dentro gli apici singoli ('). * Le funzioni, come plural(), non sono interpretate fra gli apici. */ } print "Go to the store,$l buy some more,$l 99 bottles of beer on the wall!";  ?>

Wikibooks

Linguaggio Php

Collegamenti esterni

Ambiente di sviluppo



Principali linguaggi di programmazione (tutti)

Ada | ALGOL | APL | Awk | BASIC | C | C++ | C# | COBOL | Delphi | Eiffel | Fortran | Haskell | IDL | Java | JavaScript | Lisp | LOGO | ML | Objective C | O'Caml| Pascal | Perl | PHP | PL/I | Prolog | Python | Ruby | SAS | Scheme | sh | Simula | Smalltalk | SQL | Visual Basic



See also: PHP, .NET, 1994, 1998, 2000, 2001, 2002, 2005, ALGOL