Introducció
PHP és un llenguatge de programació interpretat del costat del servidor i d’ús general que s’adapta especialment al desenvolupament web. Va ser creat inicialment pel programador danès-canadenc Rasmus Lerdorf l’any 1994. En l’actualitat, la implementació de referència de PHP és produïda per The PHP Group. Originalment, PHP significava Personal Home Page (Pàgina personal), però ara significa l’inicialisme recursiu PHP: Hypertext Preprocessor.
El codi PHP sol ser processat en un servidor web per un intèrpret PHP desenvolupat com a mòdul, daemon o com a executable d’interfície d’entrada comuna (CGI). En un servidor web, el resultat del codi PHP interpretat i executat —que pot ser qualsevol tipus de dades, com l’HTML generat o dades d’imatges binàries— formaria la totalitat o part d’una resposta HTTP. Existeixen diversos sistemes de plantilles, sistemes de gestió de continguts i frameworks que poden emprar-se per organitzar o facilitar la generació d’aquesta resposta. D’altra banda, PHP pot utilitzar-se per a moltes tasques de programació fora del context web, com aplicacions gràfiques autònomes i el control de drons. També es pot interpretar i executar qualsevol codi PHP a través d’una interfície de línia d’ordres (CLI).
L’intèrpret estàndard de PHP, impulsat pel Zend Engine, és un programari lliure publicat sota Llicència PHP. PHP ha estat àmpliament portat i pot ser desplegat en la majoria de servidors web en gairebé tots els sistemes operatius i plataformes, de manera gratuïta.
El llenguatge PHP va evolucionar sense una especificació formal escrita ni un estàndard fins al 2014, amb la implementació original actuant com l’estàndard de facto que altres implementacions intentaven seguir. Des del 2014, s’ha treballat per crear una especificació formal de PHP.
Visió general
PHP pot ser desplegat en la majoria dels servidors web i en tots els sistemes operatius i plataformes sense cap cost. El llenguatge PHP es troba instal·lat en més de 20 milions de llocs web i en un milió de servidors. Migrar els serveis basats en PHP cap a les noves tecnologies que apareixen suposa un cost que cal justificar monetàriament (sobretot en termes de maquinari i rendiment). Per això, es parla de si el nombre de llocs basats en PHP s’ha vist reduït progressivament en els darrers anys, amb l’aparició de noves tecnologies com Node.js, Golang, ASP.NET, etc.
PHP com tot, està evolucionant avui dia, hi ha disponibles noves llibreries, l’ús de matrius, la gestió de nombres enters, el tractament de la criptografia quan s’utilitza un Base64, el web scraping, la indexació de webs, el precuinat de dades, big data, conjunts de dades, la supervisió de dades i conjunts de proposicions dimensionals. Com veiem, una visió general d’aquest llenguatge és molt més complexa que afirmar que és un llenguatge per al desenvolupament web. El lloc web de la Viquipèdia està desenvolupat en PHP. És també el mòdul Apache més popular entre els ordinadors que utilitzen Apache com a servidor web.
La gran semblança que té PHP amb els llenguatges més comuns de programació estructurada, com C i Perl, permet a la majoria dels programadors crear aplicacions complexes amb una corba d’aprenentatge molt curta. També els permet involucrar-se en aplicacions de contingut dinàmic sense haver d’aprendre tot un nou conjunt de funcions.
Tot i que en el seu disseny tot està orientat a facilitar la creació de llocs web, és possible crear aplicacions amb una interfície gràfica d’usuari, utilitzant alguna extensió com pot ser PHP-Qt, PHP-GTK, WxPHP, WinBinder, Roadsend PHP, Phalanger, Phc o HipHop VM. També pot ser utilitzat des de la línia d’ordres, de la mateixa manera que Perl o Python poden fer-ho; a aquesta versió de PHP se l’anomena PHP-CLI (Command Line Interface).
Quan el client fa una petició al servidor perquè li enviï una pàgina web, el servidor executa l’intèrpret de PHP. Aquest processa l’script sol·licitat, que generarà el contingut de manera dinàmica (per exemple, obtenint informació d’una base de dades). El resultat és enviat per l’intèrpret al servidor, que al seu torn l’envia al client.
Permet la connexió a diferents tipus de servidors de bases de dades, tant SQL com NoSQL, com ara MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird, SQLite o MongoDB.
PHP també té la capacitat de ser executat en la majoria dels sistemes operatius, com Unix (i derivats, com Linux o Mac OS X) i Microsoft Windows, i pot interactuar amb els servidors web més populars, ja que existeix en versió CGI, com a mòdul per a Apache i com a ISAPI.
PHP és una alternativa a les tecnologies de Microsoft ASP i ASP.NET (que utilitza C# i Visual Basic .NET com a llenguatges), a ColdFusion de l’empresa Adobe, a JSP/Java, CGI/Perl i a Node.js/JavaScript. Tot i que la seva creació i desenvolupament es produeix en l’àmbit dels sistemes lliures, sota la llicència GNU, existeix també un entorn de desenvolupament integrat comercial anomenat Zend Studio.
Història
Va ser originalment dissenyat en Perl, a partir de l’escriptura d’un grup de CGI binaris escrits en llenguatge C pel programador danès-canadenc Rasmus Lerdorf l’any 1994 per mostrar el seu currículum vitae i desar certes dades, com la quantitat de trànsit que la seva pàgina web rebia. El 8 de juny de 1995 es va publicar Personal Home Page Tools després que Lerdorf el combinés amb el seu propi Form Interpreter per crear PHP/FI.
Dos programadors israelians del Technion, Zeev Suraski i Andi Gutmans, van reescriure l’analitzador sintàctic (parser, en anglès) el 1997 i van crear la base del PHP3, i van canviar el nom del llenguatge per PHP: Hypertext Preprocessor. Immediatament van començar les experimentacions públiques de PHP3, i es va publicar oficialment el juny de 1998. L’any 1999, Suraski i Gutmans van reescriure el codi de PHP i van produir el que avui es coneix com a motor Zend. També van fundar Zend Technologies a Ramat Gan, Israel.
El maig de 2000, es va llançar PHP 4 sota la potència del motor Zend 1.0. El 13 de juliol de 2007 es va anunciar la suspensió del suport i desenvolupament de la versió 4 de PHP, i, malgrat el que s’havia anunciat, es va alliberar una nova versió amb millores de seguretat, la 4.4.8, publicada el 13 de gener de 2008, i posteriorment la versió 4.4.9, publicada el 7 d’agost de 2008. Segons aquesta notícia, se li va donar suport a errors crítics fins al 9 d’agost de 2008.
El 13 de juliol de 2004 es va llançar PHP 5, utilitzant el motor Zend Engine 2.0 (o Zend Engine 2). Inclou tots els avantatges que ofereix el nou Zend Engine 2, com ara:
-
Millor suport per a la programació orientada a objectes, que en versions anteriors era extremadament rudimentari.
-
Millores de rendiment.
-
Millor suport per a MySQL amb extensió completament reescrita.
-
Millor suport a XML (XPath, DOM, etc.).
-
Suport natiu per a SQLite.
-
Suport integrat per a SOAP.
-
Iteradors de dades.
-
Gestió d’excepcions.
-
Millores amb la implementació amb Oracle.
A l’abril de 2020, més de la meitat dels llocs web que feien servir PHP continuaven en la versió discontinuada 5.6 o anterior, i amb la versió 7.0 i 7.1 més del 68 %, que no estan oficialment suportades per The PHP Development Team, mentre que el suport de seguretat és proporcionat per tercers, com Debian (fins al juny de 2020 per a PHP 5). A més, la versió 7.2, la versió amb suport més popular, va deixar de rebre actualitzacions de seguretat el 30 de novembre de 2020.
El 26 de novembre de 2020 es presenta l’actualització del llenguatge PHP a la seva versió 8.0, amb més recursos i optimitzacions, incloent-hi arguments amb nom, tipus d’unió, atributs, promoció de propietats constructives, expressions match, operador nullsafe, JIT (traducció dinàmica) i també millores en el sistema de tipus, gestió d’errors i consistència en general. Aquesta versió va finalitzar el novembre de 2023. També cal considerar que a partir del llançament de PHP 8.2, el 8 de novembre de 2022, WordPress va aconseguir ser compatible l’endemà, 9 de desembre de 2022, seguit del framework CodeIgniter, que va expulsar PHP 7.4 de les seves compatibilitats en les noves actualitzacions.
Al gener de 2023, segons W3Techs, PHP s'utilitzava pel 77,8 % de tots els llocs web que s’executen al costat del servidor. També diu que només el 8% dels usuaris de PHP utilitzen les versions 8.x actualment suportades. L’última versió publicada de PHP és PHP 8.4.