PHP e Wikipedia:Pagine da cancellare/Conta/2019 maggio 6: differenze tra le pagine

(Differenze fra le pagine)
Contenuto cancellato Contenuto aggiunto
 
BotCancellazioni (discussione | contributi)
Bot: aggiornamento pagina di servizio giornaliera per i conteggi del 6 maggio 2019
 
Riga 1:
{{Conteggio cancellazioni}}
{{nota disambigua|altre voci che possono riferirsi alla stessa combinazione di 3 caratteri|[[PHP (disambigua)|PHP]]}}
{{Conteggio cancellazioni/Concluse/Start|14:49, 14 mag 2019 (CEST)}}
{{Infobox Software
{{Conteggio cancellazioni/Concluse/Voce|i = 1 |voce = Maria Cira Destro |turno = |tipo = votazione |data = 2019 maggio 6 |durata = 29 giorni |multipla = }}
|nome = PHP
{{Conteggio cancellazioni/Concluse/Voce|i = 2 |voce = Klaus Dubis |turno = |tipo = consensuale prorogata |data = 2019 maggio 6 |durata = 20 giorni |multipla = }}
|sviluppatore = The PHP Group
{{Conteggio cancellazioni/Concluse/Voce|i = 3 |voce = Gennaro Palomba |turno = |tipo = consensuale |data = 2019 maggio 6 |durata = 9 giorni |multipla = }}
|versione_ultimo_rilascio = 5.2.9
{{Conteggio cancellazioni/Concluse/Voce|i = 4 |voce = Trinchese |turno = |tipo = semplificata |data = 2019 maggio 6 |durata = 7 giorni |multipla = }}
|data_ultimo_rilascio = [[26 febbraio]] [[2009]]
{{Conteggio cancellazioni/Concluse/Voce|i = 5 |voce = Turin Jazz Rock School |turno = |tipo = semplificata |data = 2019 maggio 6 |durata = 7 giorni |multipla = }}
|sistema_operativo = [[Multipiattaforma]]
{{Conteggio cancellazioni/Concluse/Voce|i = 6 |voce = Sergej Grubac |turno = |tipo = semplificata |data = 2019 maggio 6 |durata = 7 giorni |multipla = }}
|genere = [[Linguaggio di scripting]]
{{Conteggio cancellazioni/Concluse/Voce|i = 7 |voce = Jevhen Smyrnyj |turno = |tipo = semplificata |data = 2019 maggio 6 |durata = 7 giorni |multipla = }}
|licenza = [http://www.php.net/license/3_01.txt PHP License 3.01]
{{Conteggio cancellazioni/Concluse/Voce|i = 8 |voce = Nella notte dei tempi |turno = |tipo = semplificata |data = 2019 maggio 6 |durata = 7 giorni |multipla = }}
|sito_web = http://www.php.net
{{Conteggio cancellazioni/Concluse/Stop}}
}}
'''PHP''' ([[acronimo ricorsivo]] di PHP Hypertext Preprocessor, [[preprocessore]] di [[ipertesti]]) è un [[Linguaggio di programmazione#Linguaggi di scripting|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 [[Applicazione web|applicazioni web]] [[lato server]] ma può essere usato anche per scrivere [[script]] a [[Interfaccia a linea di comando|linea di comando]] o applicazioni [[Stand-alone|standalone]] con [[interfaccia grafica]].
 
Un esempio di software scritto in php è [[MediaWiki]], su cui si basano progetti [[wiki]] come [[Wikipedia]] e [[Wikizionario]].
 
== Cenni storici ==
 
Nato nel [[1994]] ad opera del danese [[Rasmus Lerdorf]], PHP era in origine una raccolta di ''script'' [[Common Gateway Interface|CGI]] che permettevano una facile gestione delle pagine personali. Il significato originario dell'[[acronimo]] era '''''P'''ersonal '''H'''ome '''P'''age'' (secondo l'annuncio originale di PHP 1.0 da parte dell'autore sul newsgroup comp.infosystems.www.authoring.cgi <ref>{{cita web|titolo=Announce: Personal Home Page Tools (PHP Tools)|url=http://groups.google.ch/group/comp.infosystems.www.authoring.cgi/msg/cc7d43454d64d133?oe=UTF-8&output=gplain|data=1995-06-08}}</ref> ).
Il pacchetto originario venne in seguito esteso e riscritto dallo stesso Lerdorf in [[C (linguaggio)|C]], aggiungendo funzionalità quali il supporto al database [[mSQL]] e prese a chiamarsi '''PHP/FI''', dove ''FI'' sta per '''''F'''orm '''I'''nterpreter'' (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 [[Programmazione orientata agli oggetti|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 [[Active Server Pages|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 [http://www.php.net/credits.php 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 [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ù del 45%] dei [[server]] [[Apache HTTP 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 [[Motore di ricerca|motori di ricerca]].
 
Nel [[2005]] la configurazione [[LAMP (piattaforma)|LAMP]] ([[Linux]], [[Apache HTTP Server|Apache]], [[MySQL]], PHP) supera il 50% del totale dei server sulla rete mondiale.
 
== Caratteristiche ==
 
PHP riprende per molti versi la [[sintassi]] del [[C (linguaggio)|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 orientata agli oggetti|programmazione ad oggetti]]. Certi costrutti derivati dal [[C (linguaggio)|C]], come gli operatori fra [[Bit (informatica)|bit]] e la gestione di [[Stringa (informatica)|stringhe]] come [[array]], permettono in alcuni casi di agire a basso livello; tuttavia è fondamentalmente un [[Linguaggio di programmazione ad alto livello|linguaggio di alto livello]], caratteristica questa rafforzata dall'esistenza delle sue moltissime [[Application programming interface|API]], oltre 3000 funzioni del nucleo base. PHP è in grado di interfacciarsi a innumerevoli [[DBMS|database]] tra cui [[MySQL]], [[PostgreSQL]], [[Oracle]], [[Firebird SQL|Firebird]], [[DB2|IBM DB2]], [[Microsoft SQL Server]], solo per citarne alcuni, e supporta numerose tecnologie, come [[XML]], [[SOAP]], [[Internet Message Access Protocol|IMAP]], [[File Transfer Protocol|FTP]], [[CORBA]]. Si integra anche con altri linguaggi/piattaforme quali [[Linguaggio di programmazione Java|Java]] e [[.NET]] e si può dire che esista un [[wrapper]] per ogni libreria esistente, come CURL, [[GD Graphics Library|GD]], [[Gettext]], GMP, Ming, [[OpenSSL]] ed altro.
 
Fornisce un'[[API]] specifica per interagire con [[Apache HTTP Server|Apache]], nonostante funzioni naturalmente con numerosi [[Web server|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 [[Libreria software|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 [[Libreria software|librerie]] riusabili per lo sviluppo di applicazioni PHP e di [http://pecl.php.net PECL] che raccoglie tutte le estensioni conosciute scritte in C.
 
== Sicurezza ==
La percentuale di software non sicuro scritto in PHP, sul totale di tutte le falle nei software elencate dal [[Common Vulnerabilities and Exposures]], ammontava al: 12% nel 2003, 20% nel 2004, 28% nel 2005, 43% nel 2006, 36% nel 2007 e 33,8% nel primo trimestre del 2008<ref>{{cita web|titolo=PHP-related vulnerabilities on the National Vulnerability Database|url=http://www.coelho.net/php_cve.html|data=2008-03-01}}</ref>. La maggior parte di questi punti vulnerabili possono essere sfruttati tramite remoto, ovvero senza accedere al computer che ospita l'applicazione vulnerabile. Le falle più comuni sono dovute al mancato adempimento delle [[best practice]] nella programmazione e da vulnerabilità presenti in codice scritto in versioni vecchie di PHP.
 
== 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]].
 
== Esempi di codice ==
=== Utilizzo delle variabili ===
 
<source lang=php>
$title = "Wikipedia";
</source>
Con questa istruzione viene definita una variabile e le viene assegnato il valore "Wikipedia".
 
Ogni volta che nella pagina scriveremo così:
<source lang=php>echo $title;</source>
anziché la scritta $title all’utente apparirà la scritta “Wikipedia”.
 
Se però scriviamo <code>echo $title;</code> in un'altra pagina (es.prova.php) che non sia il file originale (ad esempio file.php) non apparirà la scritta “Wikipedia” poiché la variabile $title non sarà definita, a meno che non includiamo in quest’altra pagina il file title.php in questo modo:
 
<source lang=php>
require 'title.php';
</source>
 
=== [[Hello world|Hello, world!]] ===
Il seguente esempio stampa il testo "[[Hello world]]" (vedi ''[http://php.net/manual/it/language.basic-syntax.php Sintassi fondamentale]'' del manuale di PHP).
<source lang="php">
<?php
echo "Hello world";
?>
</source>
Oppure, in forma breve
<source lang="php">
<?="Hello world"?>
</source>
Oppure ancora, usando le ''variabili''.
<source lang="php">
<?php
$var = "Hello World!";
echo $var; // Oppure print $var;
?>
</source>
 
=== Una semplice funzione con controllo sugli argomenti ===
<source lang="php">
<?php
function get_hello_world($value1, $value2)
{
$result = "";
if ($value1 != "") {
$result .= $value1;
}
 
// .= è un operatore di concatenazione;
// Il "." (punto) deriva dall'operazione di concatenzione delle stringhe nella teoria dei linguaggi;
 
if (($value1 != "") && ($value2 != "")) {
$result .= " ";
}
if ($value2 != "") {
$result .= $value2;
}
return $result;
}
echo get_hello_world("Hello", "world");
?>
</source>
 
=== 99 Bottles of Beer ===
Il seguente esempio stampa il testo della canzone ''[[99 Bottles of Beer]]''.
 
<source lang="php">
<?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 $a_capo che contiene un a capo HTML,
// un carattere di ritorno e uno di nuova riga:
$a_capo = "<br />\r\n";
for ($i = 99; $i > 0; $i--) {
print "$i bottle" . plural($i) . " of beer on the wall,$a_capo";
// Non abbiamo bisogno di ripetere il comando print per ogni riga:
print "$i bottle" . plural($i) . " of beer.$a_capo
Take one down, pass it around,$a_capo" .
($i - 1 != 0 ? $i - 1 : "no more") .
" bottle" . plural($i - 1) . " of beer on the wall.$a_capo$a_capo";
/*
* 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, $a_capo buy some more, $a_capo 99 bottles of beer on the wall!";
?>
</source>
 
=== Il Ciclo for ===
 
<source lang=php>
 
<?php
 
// In questo caso la variabile $n viene stampata a video, successivamente
// viene incrementata di 1, il ciclo termina quando $n è uguale a 9.
 
for($n = 0; $n <= 9; $n++){
 
echo $n;
 
}
 
//Output -> 0123456789
 
?>
 
</source>
 
== 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 [[Web Server|server web]]. Per le versioni [[Common Gateway Interface|CGI]] e [[CLI]], invece, è invocato ad ogni richiesta.
 
Per visualizzare tutte le opzioni di configurazione è possibile utilizzare la funzione phpinfo().
 
== Ambienti di sviluppo ==
{{div col}}
*{{en|http://www.embarcadero.com/products/delphi_for_php/|Delphi4php}}
*{{en|http://bluefish.openoffice.nl|Bluefish}}
*{{en|http://www.dreamweaver.com|Dreamweaver MX}}
*{{en|http://www.blumentals.net/webuilder/|WeBuilder 2007}}
*{{en|http://www.maguma.com|Maguma Workbench}}
*{{en|http://www.nusphere.com|NuSphere PHPEd}}
*{{en|http://www.mpsoftware.dk|PHP Designer 2007}}
*{{en|http://www.eclipse.org/pdt|PDT}}
*{{en|http://www.phpeclipse.de|PHPEclipse}}
*{{en|http://devphp.sourceforge.net|Dev-PHP}}
*{{en|http://www.waterproof.fr|PHPEdit}}
*{{en|http://quanta.kdewebdev.org|Quanta Plus}}
*{{en|http://www.phpside.org|Side}}
*{{en|http://www.xored.com/trustudio|Xored TruStudio}}
*{{en|http://www.zend.com/store/products/zend-studio.php|Zend Studio}}
*{{en|http://www.c-point.com/php_editor.php|Antechinus PHP Editor}}
*{{en|http://www.gphpedit.org|gPHPEdit}}
*{{en|http://www.jedit.org|jEdit}}
*{{it}} [http://www.pspad.com/it PSPad]
*{{en|http://www.vim.org|Vim}}
*{{en|http://www.scintilla.org/SciTE.html|SciTE}}
*{{it}} [http://hapedit.free.fr HAP EDIT]
*{{en|http://www.activestate.com/Products/komodo_ide/index.mhtml|Komodo IDE}}
*{{en|http://www.activestate.com/Products/komodo_ide/komodo_edit.mhtml|Komodo Edit}}
*{{it}} [http://notepad-plus.sourceforge.net/it/site.htm Notepad++]
*[[Notepad]] (blocco note di [[Windows]])
*[[gedit]]
* Qualsiasi altro [[editor di testo]]
{{div col end}}
 
== Note ==
<references/>
 
== Bibliografia ==
*Zak Greant, Graeme Merrall, Torben Wilson, Brett Michlitsch (2002): ''PHP Functions Essential Reference'', Sams, ISBN 0-7357-0970-X
*Luke Welling, Laura Thomson (2004): ''PHP and MySQL Web Development'', 3rd ed., SAMS, ISBN 0-672-32672-8
*Matt Zandstra (2004): ''PHP 5 Objects, Patterns, and Practice'', Apress, ISBN 1-59059-380-4
*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 1-59059-392-8
*David Powers (2005): ''Foundation PHP 5 for Flash'', Friends of ED, ISBN 1-59059-466-5
*Elizabeth Naramore, (2005): ''Beginning PHP5, Apache, and MySQL Web Development'', Wrox, ISBN 0-7645-7966-5
*Thomas Myer (2005): ''No Nonsense XML Web Development With PHP'', [[SitePoint]], ISBN 0-9752402-0-X
*Marc Wandschneider (2005): ''Core Web Application Development with PHP and MySQL'', Prentice-Hall, ISBN 0-13-186716-4
*Steven Holzner (2005): ''Spring Into PHP 5 '', Addison-Wesley, ISBN 0-13-149862-2
* (2005): ''Building Online Communities with phpBB 2 '', Packt Publishing, ISBN 1-904811-13-2
* (2005): ''Web Standards Programmer's Reference : HTML, CSS, JavaScript, Perl, Python, and PHP'', Wrox, ISBN 0-7645-8820-6
*Chris Newman (2005): ''Sams Teach Yourself PHP in 10 Minutes'', ISBN 0-672-32762-7
*Paul Hudson (2005): ''PHP in a Nutshell'', O'Reilly, ISBN 0-596-10067-1
*Andi Gutmans, Stig S. Bakken, Derick Rethans (2005): ''PHP 5: Guida completa'', Apogeo, ISBN 88-503-2304-2
*Jack Herrington (2006), ''PHP Trucchi e segreti'' , Tecniche Nuove Hops, ISBN 88-481-1951-4
*Rasmus Lerdorf (2003), ''PHP Pocket Reference'' , Tecniche Nuove Hops, ISBN 88-8378-070-1
 
== Voci correlate ==
* [[Linguaggio di scripting]]
* [[PEAR]]
* [[Cakephp]]
* [[TCPDF]]
* [[Perl]]
* [[Jamp]]
 
== Altri progetti ==
{{interprogetto|b=PHP|v=PHP}}
 
== Collegamenti esterni ==
*[http://www.php.net/manual/it Documentazione ufficiale in italiano del linguaggio]
*[http://session-start.com Session-Start.com - Gli Amici del PHP]
*[http://www.pehepe.org php and mysql help page]
*[http://php-faq.org Sito in italiano non ufficiale delle FAQ su PHP del newsgroup it.comp.www.php]
*[http://php.html.it Guide, articoli, script e approfondimenti sul linguaggio]
*[http://www.phpnews.it Corsi, articoli, tips&tricks e notizie sul mondo PHP]
*[http://forum.session-start.com Forum su PHP]
*[http://www.php-forum.com/ discussioni e approfondimenti per sviluppatori PHP]
*[http://www.booksopen.org/index.php?view=article&catid=45%3Amanuali-sui-linguaggi-di-programmazione&id=64%3Alivello-quinto-itis&option=com_content&Itemid=56 Manuale di PHP], in italiano distribuito con licenza open source.
*{{en}}[http://www.booksopen.org/index.php?view=article&catid=33%3Adescrizione-libri-pubblicati&id=79%3Aphp-5-power-programming&option=com_content&Itemid=56 PHP Power Programming] Scarica il libro in formato pdf (testo open source)
 
*{{Dmoz|World/Italiano/Computer/Programmazione/Php/|Php}}
 
{{Principali linguaggi di programmazione}}
{{Portale|Telematica|software libero}}
 
[[Categoria:Estensioni]]
[[Categoria:Linguaggi di scripting]]
[[Categoria:Tecnologie per il Web]]
[[Categoria:PHP]]
 
[[af:PHP]]
[[als:PHP]]
[[an:PHP]]
[[ar:بي إتش بي]]
[[az:PHP]]
[[bar:PHP]]
[[bat-smg:PHP]]
[[bg:PHP]]
[[bn:পিএইচপি]]
[[br:Areg PHP]]
[[bs:PHP]]
[[ca:PHP]]
[[ceb:PHP]]
[[cs:PHP]]
[[cy:PHP]]
[[da:PHP]]
[[de:PHP]]
[[el:PHP]]
[[en:PHP]]
[[eo:PHP]]
[[es:PHP]]
[[et:PHP]]
[[eu:PHP]]
[[fa:زبان برنامه‌نویسی پی‌اچ‌پی]]
[[fi:PHP]]
[[fr:PHP: Hypertext Preprocessor]]
[[gl:PHP]]
[[he:PHP]]
[[hi:पीएचपी]]
[[hr:PHP]]
[[hu:PHP]]
[[id:PHP]]
[[is:PHP]]
[[ja:PHP: Hypertext Preprocessor]]
[[ka:PHP]]
[[kab:PHP]]
[[kk:PHP]]
[[km:PHP]]
[[ko:PHP]]
[[ku:PHP]]
[[la:PHP]]
[[lb:PHP]]
[[lt:PHP]]
[[lv:PHP]]
[[mg:PHP]]
[[mk:PHP]]
[[ml:പി.എച്ച്.പി.]]
[[mn:PHP]]
[[ms:PHP]]
[[my:PHP]]
[[nds:PHP]]
[[nl:PHP]]
[[no:PHP]]
[[pl:PHP]]
[[pt:PHP]]
[[ro:PHP]]
[[ru:PHP]]
[[sh:PHP]]
[[simple:PHP]]
[[sk:PHP (programovací jazyk)]]
[[sl:PHP]]
[[sq:PHP]]
[[sr:PHP]]
[[sv:PHP]]
[[ta:பி.எச்.பி]]
[[tg:PHP]]
[[th:ภาษาพีเอชพี]]
[[tk:PHP]]
[[tl:PHP]]
[[tr:PHP]]
[[uk:PHP]]
[[ur:PHP]]
[[uz:PHP]]
[[vi:PHP]]
[[vls:PHP]]
[[wuu:PHP]]
[[zh:PHP]]
[[zh-min-nan:PHP]]
[[zh-yue:PHP]]