PHP: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Alfio (discussione | contributi)
m tolto pre e nowiki, tolte entity html
Riga 5:
Venne sviluppato nel [[1994]] da [[Rasmus Lerdorf]] per il suo sito personale. Lerdorf ha cercato di inserire il linguaggio [[C (linguaggio)|C]] direttamente nel corpo della sua pagina [[HTML]].
 
Ora il linguaggio è sviluppato da un [http://www.php.net/credits.php team] di programmatori, che comprende ancora Lerdorf. ÈÈ stato implementato con un motore che si chiama [[Zend]], che gli conferisce maggiore potenza e velocitàvelocità.
 
La popolaritàpopolarità del linguaggio PHP sta crescendo: nel Giugno [[2001]], ha superato il milione di [http://www.php.net/usage.php siti che lo utilizzano].
Nell'ottobre [[2002]], [http://www.securityspace.com/s_survey/data/man.200210/apachemods.html piùpiù del 45% dei server Apache] usavano PHP.
Il [[15 dicembre]] [[2004]] sono state rilasciate le versioni 4.3.10 e 5.0.3.
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.
Riga 16:
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.
 
E'È 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]], [[Linguaggio di programmazione Java|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. E'È 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 ==
Il seguente esempio stampa il testo "Hello World".
 
<?php
<pre>
<nowiki>
<?php
 
echo "Hello World";
?>
 
?>
</nowiki>
</pre>
 
Il seguente esempio stampa il testo della canzone ''99 Bottles of Beer''.
 
<?php
<pre>
/*
<nowiki>
* Questo è un commento. Altri modi per commentare sono i simboli // e #
<?php
* Questo tipo di commenti non ha bisogno degli asterischi (*) all'inizio
/*
* Questodi èogni unriga, commento.ma Altrilo modisi fa per commentare sonoconvenzione. iI simboli // e #
* commentano solo il testo che si trova dopo di essi e fino alla fine della riga;
* Questo tipo di commenti non ha bisogno degli asterischi (*) all'inizio
* non c'è bisogno di finire il commento con qualche carattere speciale.
* 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.
/*
*/
* Prima definiamo una funzione chiamata "plural".
function plural($number) {
* Restituisce una "s" se l'argomento passato non è 1.
return ($number != 1 ? "s" : "");
*/
// L'operatore ternario è una struttura condizionale simile a if-else: (condizione ? true : false)
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 = "<br />\r\n";
// Definiamo una variabile chiamata $l che contiene un a capo HTML,
// un carattere di ritorno e uno di nuova riga:
for ($li = "<br99; $i />\r\n" 0; $i--) {
print "$i bottle" . plural($i) . " of beer. on the wall,$l";
 
// Non abbiamo bisogno di ripetere il comando print per ogni riga:
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
Line 75 ⟶ 67:
* 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!";
 
?>
</nowiki>
</pre>
 
== Collegamenti esterni ==
Line 103 ⟶ 93:
 
{{Principali linguaggi di programmazione}}
 
[[Categoria:Linguaggi di programmazione]]
[[Categoria:Acronimi]]