Web - Amazon

We provide Linux to the World

ON AMAZON:


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
PHP - Wikipedia

PHP

Da Wikipedia, l'enciclopedia libera.

bussola Nota disambigua – Se stai cercando altre voci che possono riferirsi alla stessa combinazione di 3 caratteri, vedi PHP.

PHP
Sviluppatore The PHP Group
Ultima versione 5.2.6 / 1 maggio 2008
SO Multipiattaforma
Genere Linguaggio di scripting
Licenza PHP License 3.01
Sito web http://www.php.net

PHP è un linguaggio di scripting interpretato, con licenza open source, 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.

Il suo nome è un acronimo ricorsivo che sta per PHP: Hypertext Preprocessor (PHP: preprocessore di ipertesti).

Il software MediaWiki, che gestisce i siti del progetto Wikipedia, è scritto in PHP.


Indice

[modifica] Cenni storici

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. Per questo motivo il significato originario dell'acronimo pare fosse Personal Home Page (sull'origine dell'acronimo ci sono tuttora alcuni dubbi, alimentati dallo stesso Lerdorf che ha contribuito volontariamente a generare attorno al nome questo alone di mistero). 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 semplicità: 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.

[modifica] Caratteristiche

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.

[modifica] Gestione dei parametri

Il PHP permette il passaggio di parametri da una pagina all'altra attraverso tre array di variabili: $_GET, $_POST e $_SESSION. Il primo tipo di parametro viene passato tramite la stringa che compare nella barra dell'indirizzo del browser; il secondo viene passato in background, mentre il terzo rimane persistente durante la sessione. Per utilizzare i primi due, devono essere assegnati a delle variabili locali alla pagina dichiarate come global.

[modifica] Esempi di codice

[modifica] Hello, world!

Il seguente esempio stampa il testo "Hello world" (vedi Sintassi fondamentale del manuale di PHP).

<?php
 echo "Hello world";
 ?>

Oppure, in forma breve

<?="Hello world"?>

Oppure ancora, usando le variabili.

Forma Normale:

<?php
   $var = "Hello World!";
   echo $var; // Oppure print $var;

Forma Breve:

<?=$var;?>

[modifica] Una semplice funzione con controllo sugli argomenti

<?php
 function get_hello_world($value1, $value2)
 {
     $result = "";
 
     if ($value1 != "") {
         $result .= $value1;
     }
 
     if (($value1 != "") && ($value2 != "")) {
         $result .= " ";
     }
 
     if ($value2 != "") {
         $result .= $value2;
     }
 
     return $result;
 }
 
 echo get_hello_world("Hello", "world");
 ?>

[modifica] 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)
 {
     // L'operatore ternario (!= ? :) è una struttura condizionale 
     // simile a if-else: (condizione ? true : false)
     return ($number != 1 ? "s" : "");
 }
 
 // Definiamo una variabile chiamata $l che contiene un a capo HTML,
 // un carattere di ritorno e uno di nuova riga:
 $l = "<br />\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 interpretate
      * 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!";
 
 ?>

[modifica] php.ini

Il file di configurazione di PHP, chiamato php3.ini in PHP 3, e poi semplicemente php.ini nelle versioni successive, è letto all'avvio dell'interprete del linguaggio e fornisce le impostazioni dei vari moduli con cui l'interprete è stato compilato. Nella versione server modulare di PHP, questo avviene solo una volta, all'avvio del server web. Per le versioni CGI e CLI, invece, è invocato ad ogni richiesta.

Per visualizzare tutte le opzioni di configurazione è possibile utilizzare la funzione phpinfo().

[modifica] Ambienti di sviluppo

[modifica] Bibliografia

  • Zak Greant, Graeme Merrall, Torben Wilson, Brett Michlitsch (2002): PHP Functions Essential Reference, Sams, ISBN 073570970X
  • Luke Welling, Laura Thomson (2004): PHP and MySQL Web Development, 3rd ed., SAMS, ISBN 0672326728
  • Matt Zandstra (2004): PHP 5 Objects, Patterns, and Practice, Apress, ISBN 1590593804
  • Eric Rosebrock, Eric Filson (2004): Setting Up LAMP: Getting Linux, Apache, MySQL, and PHP Working Together, SYBEX, ISBN 0-7821-4337-7
  • Cristian Darie, Mihai Bucica (2004): Beginning PHP 5 and MySQL E-Commerce: From Novice to Professional, Apress, ISBN 1590593928
  • David Powers (2005): Foundation PHP 5 for Flash, Friends of ED, ISBN 1590594665
  • Elizabeth Naramore, (2005): Beginning PHP5, Apache, and MySQL Web Development, Wrox, ISBN 0764579665
  • Thomas Myer (2005): No Nonsense XML Web Development With PHP, SitePoint, ISBN 097524020X
  • Marc Wandschneider (2005): Core Web Application Development with PHP and MySQL, Prentice-Hall, ISBN 0131867164
  • Steven Holzner (2005): Spring Into PHP 5 , Addison-Wesley, ISBN 0131498622
  • (2005): Building Online Communities with phpBB 2 , Packt Publishing, ISBN 1904811132
  • (2005): Web Standards Programmer's Reference : HTML, CSS, JavaScript, Perl, Python, and PHP, Wrox, ISBN 0764588206
  • Chris Newman (2005): Sams Teach Yourself PHP in 10 Minutes, ISBN 0672327627
  • Paul Hudson (2005): PHP in a Nutshell, O'Reilly, ISBN 0596100671
  • Andi Gutmans, Stig S. Bakken, Derick Rethans (2005): PHP 5: Guida completa, Apogeo, ISBN 8850323042
  • Jack Herrington (2006), PHP Trucchi e segreti , Tecniche Nuove Hops, ISBN 8848119514
  • Rasmus Lerdorf (2003), PHP Pocket Reference , Tecniche Nuove Hops, ISBN 8883780701

[modifica] Voci correlate

[modifica] Altri progetti

[modifica] Collegamenti esterni

Php su DMoz (Segnala su DMoz un collegamento pertinente all'argomento "Php")
Principali linguaggi di programmazione (tutti)

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

Static Wikipedia 2008 (March - no images)

aa - ab - als - am - an - ang - ar - arc - as - bar - bat_smg - bi - bug - bxr - cho - co - cr - csb - cv - cy - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - jbo - jv - ka - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nn - -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -
https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformativo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com