PHP: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Esempi di codice: +Hello world |
sistemate note |
||
Riga 25:
=== Origini ===
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. Secondo l'annuncio originale di PHP 1.0 da parte dell'autore sul newsgroup comp.infosystems.www.authoring.cgi il significato originario dell'[[acronimo]] era '''''P'''ersonal '''H'''ome '''P'''age''.<ref>{{cita web
Il pacchetto originario venne in seguito esteso e riscritto dallo stesso Lerdorf in [[C (linguaggio)|C]], aggiungendo funzionalità quali il supporto alla base di dati [[mSQL]], e iniziò 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. Nel [[1997]] si stimava che circa 50.000 siti Web erano basati su PHP.<ref>{{Cita libro|nome=Ellie|cognome=Quigley|nome2=Marko|cognome2=Gargenta|titolo=PHP and MySQL by Example|url=https://books.google.it/books?id=mPzUH1EPEJkC&pg=PA4&lpg=PA4&dq=php+in+50000+web+sites&source=bl&ots=RXsNXbr7TO&sig=ACfU3U1vKzW3_43YWWjGswtci5vDPRuDPA&hl=it&sa=X&ved=2ahUKEwjlpomhgPPnAhVixaYKHbXzCesQ6AEwAHoECAUQAQ#v=onepage&q=php%20in%2050000%20web%20sites&f=false|accesso=28 febbraio 2020|data=22 novembre 2006|editore=Prentice Hall Professional|lingua=en|ISBN=978-0-13-800602-0}}</ref>
=== PHP 3 ===
Il linguaggio cominciò a godere di una certa popolarità tra i progetti ''open source'' del ''[[World Wide Web|web]]'' e venne così notato da [[Zeev Suraski]] e [[Andi Gutmans]], due giovani programmatori. 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à alla [[base di dati]] e il supporto iniziale per il [[Programmazione orientata agli oggetti|paradigma a oggetti]]<ref>{{Cita web|url=https://www.php.net/manual/php3.php|titolo=
=== PHP 4 ===
PHP diventò a questo punto sufficientemente maturo da competere con i linguaggi ''lato server'' come [[Active Server Pages|ASP]], sviluppato da [[Microsoft]], e cominciò ad essere usato su larga scala. La versione 4 di PHP venne lanciata nel [[2000]] e prevedeva notevoli migliorie<ref>{{Cita web|url=https://www.ntchosting.com/encyclopedia/scripting-and-programming/php/php4/|titolo=PHP 4 - features|lingua=en|accesso=28 febbraio 2020}}</ref>.
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 HTTP Server|Apache]] usava PHP<ref>{{Cita web|url=https://w3techs.com/technologies/details/pl-php|titolo=Usage Statistics and Market Share of PHP for Websites, February 2020|sito=w3techs.com|lingua=en|accesso=28 febbraio 2020}}</ref>.
Nel 2004 è stato uno dei linguaggi principali con cui è stato creato [[Facebook]].
Nel gennaio [[2005]] è stato insignito del titolo di "Programming Language of 2004" dal [[TIOBE Programming Community Index]]<ref>{{cita web
Nel [[2005]] la configurazione [[LAMP]] ([[Linux]], [[Apache HTTP Server|Apache]], [[MySQL]], PHP) ha superato il 50% del totale dei server sulla rete mondiale.
=== PHP 5 ===
Nel 2008 PHP 5 è diventata l'unica versione stabile in fase di sviluppo. A partire da PHP 5.3.0 il linguaggio implementa una funzione chiamata "late static binding" che può essere utilizzata per fare riferimento alla classe chiamata in un contesto di eredità statica.<ref>{{Cita web|url=https://www.php.net/ChangeLog-5.php#5.3.0|titolo=PHP 5 ChangeLog § 5.3.0|lingua=en|accesso=2022-01-12}}</ref><ref>{{Cita web|url=https://www.php.net/manual/en/language.oop5.late-static-bindings.php|titolo=PHP: Late Static Bindings - Manual|lingua=en|accesso=2022-01-12}}</ref>
A partire dal 5 febbraio 2008, a causa dell'iniziativa ''GoPHP5'' sostenuta da una serie di sviluppatori PHP, molti dei progetti open-source di alto profilo cessano di supportare PHP 4 nel nuovo codice e promuovono il passaggio da PHP 4 a PHP 5.<ref>{{Cita web|url=https://pear.php.net/gophp5.php|titolo=GOPHP5!|sito=pear.php.net|lingua=en|accesso=26 settembre 2017}}</ref>
La versione 5 di PHP ha raggiunto la release 5.6 prima di essere abbandonata dal punto di vista dello sviluppo e supporto nel gennaio 2019.<ref name=":0">{{Cita web|url=https://www.php.net/eol.php|titolo=PHP: Unsupported Branches|sito=www.php.net|lingua=en|accesso=2022-12-12}}</ref>
=== PHP 7 ===
Il 3 dicembre 2015 è stata rilasciata la versione 7, arrivata fino alla versione 7.4.33.<ref>{{Cita web|url=https://www.php.net/ChangeLog-7.php|titolo=PHP 7 ChangeLog|lingua=en|accesso=28 febbraio 2020}}</ref> Il supporto della versione 7.4 è terminato nel novembre 2022.<ref>{{Cita web|url=https://www.php.net/supported-versions.php|titolo=PHP: Supported Versions|sito=www.php.net|lingua=en|accesso=2022-12-12}}</ref>
=== PHP 8 ===
Il 27 novembre 2020 è stata rilasciata la versione 8.<ref>{{Cita web|url=https://www.php.net/ChangeLog-8.php|titolo=PHP 8 ChangeLog|accesso=2022-01-12}}</ref>
== Caratteristiche ==
Riga 61:
PHP è in grado di interfacciarsi a innumerevoli [[DBMS]] tra cui [[MySQL]], [[PostgreSQL]], [[MariaDB]], [[Oracle Database|Oracle]], [[Firebird SQL|Firebird]], [[IBM DB2]], [[Microsoft SQL Server]] e anche basi di dati NoSql come MongoDB. 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]] ed esiste un [[wrapper]] per tutte le librerie più diffuse come CURL, [[GD Graphics Library|GD]], [[Gettext]], GMP, Ming, [[OpenSSL]] ed altro.
Fornisce un'[[Application programming interface|API]] specifica per interagire con [[Apache HTTP Server|Apache]], sebbene funzioni naturalmente con numerosi altri [[Web server|server web]]. È ben integrato senza l'uso di componenti esterni con il DBMS [[MySQL]]/[[MariaDB]] per il quale possiede più di una API (mysql, mysqli, PDO). A partire della versione 5, PHP integra al suo interno una piccola base di dati embedded, [[SQLite]].<ref>{{Cita web|url=https://www.php.net/ChangeLog-5.php#5.0.0b1|titolo=PHP 5 ChangeLog § Version 5.0.0 Beta 1|lingua=en|accesso=2022-01-12}}</ref> Per questi motivi esiste un'enorme quantità di [[script]] e [[Libreria software|librerie]] in PHP disponibili liberamente su [[Internet]].
Dispone di un archivio chiamato [[PHP Extension and Application Repository|PEAR]] che mette a disposizione un framework di [[Libreria software|librerie]] riusabili per lo sviluppo di applicazioni PHP e di [https://pecl.php.net/ PECL] che raccoglie tutte le estensioni conosciute scritte in C.
Riga 68:
=== Sicurezza ===
La percentuale di software non sicuro scritto in PHP, sul totale di tutte le falle di sicurezza 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, 34.8% nel 2008, 29.9% nel 2009 e 27.2% nel 2010<ref>{{cita web
La maggior parte del software con problemi di sicurezza (2006) è associabile temporalmente con vecchie versioni di PHP in cui le configurazioni di default lasciavano spazio a una relativa semplicità nello scrivere software con potenziali problemi di sicurezza anche gravi.
|