PHP

PHP era orixinalmente o acrónimo de "Personal Home Pages" ("Páxina web persoal") e posteriormente o acrónimo recursivo de "PHP Hypertext Preprocesor" (Pre-procesador de Hipertexto PHP). PHP é unha linguaxe de programación de computadores interpretada, libre e moi utilizada para xerar contido dinámico na Web.

A linguaxe apareceu no ano 1994, como un subconxunto de scripts en Perl creados por Rasmus Lerdof. Coas adicións de Zeev Suraski e Andi Gutmans, dous programadores israelitas pertencentes ao Technion, o instituto israelita de tecnoloxía, que reescribiron o parser, foi lanzada en 1997 como PHP 3, primeira versión estábel e parecida á linguaxe actual. En maio de 2000 fíxose pública a versión 4, e en xullo de 2004, a versión 5.

 Características 

Trátase dunha linguaxe extremamente modularizada, o que a fai ideal para a súa instalación e uso en servidores web. É moi parecida, en tipos de dados, sintaxe e mesmo funcións, á linguaxe C. e á C++. (A partir da versión 5, inclusive, PHP conta cun suporte maior á orientación a obxectos.) Pode ser, dependendo da configuración do servidor, embutida no código HTML. Ademais diso, destácase a extrema facilidade con que PHP é lida por servidores de base de datos, como MySQL, Microsoft SQL Server e Oracle.

Existen versións do PHP dispoñíbeis para ambientes Windows e Linux. A Wikipedia funciona sobre un software enteiramente escrito en PHP, usando bases de datos MySQL ou MediaWiki.

Construír unha páxina dinámica baseada en bases de dados é sinxelo con PHP, xa que este fornece soporte a un gran número de bases de datos: Oracle, Sybase, PostgreSQL, InterBase, MySQL, SQLite, MSQL etc, podendo abstraer o Banco coa biblioteca ADOdb, entre outras.

PHP dá soporte aos protocolos IMAP, SNMP, NNTP, POP3, HTTP, LDAP, XML-RPC, SOAP. É posíbel abrir sockets e interactuar con outros protocolos, e as bibliotecas de terceiros expanden aínda máis estas funcionalidades.

É moi frecuente a creación de sitios web utilizando o sistema operativo Linux, o servidor web Apache, a base de datos MySQL e a linguaxe de guións PHP, nunha combinación coñecida polo acrónimo LAMP. Se en vez de Linux se emprega Windows, fálase de WAMP.

 Historia 
Foi orixinalmente deseñado en Perl, coa base na escritura dun grupo de CGI binarios escritos na linguaxe C polo programador danés-canadense Rasmus Lerdorf no ano 1994 para mostrar o seu currículum vítae e gardar certos datos, coma a cantidade de tráfico que a súa páxina web recibía. O 8 de xuño do 1995 foi publicado "Personal Home Page Tools" despois de que Lerdorf o combinara co seu propio Form Interpreter para crear PHP/FI.

Dous programadores israelís do Technion, Zeev Suraski e Andi Gutmans, reescribiron o analizador sintáctico (parser en inglés) no ano 1997 e crearon a base do PHP3, cambiando o nome da linguaxe á forma actual. Inmediatamente comezaron experimentacións públicas de PHP3 e foi publicado oficialmente en xuño de 1998.

Para 1999, Suraski e Gutmans reescribiron o código de PHP, producindo o que hoxe se coñece como motor Zend. Tamén fundaron Zend Technologies en Ramat Gan, Israel.

En maio de 2000 PHP 4 foi lanzado baixo o poder do motor Zend Engine 1.0. O día 13 de xuño de 2007 anunciouse a suspensión do soporte e desenvolvemento da versión 4 de PHP,PHP: News Archives 2007 (en inglés) Consultado 9 de decembro de 2007 a pesar do anunciado liberouse unha nova versión con melloras de seguridade, a 4.4.8 publicada o 13 de xaneiro do 2008 e posteriormente a versión 4.4.9 publicada o 7 de agosto do 2008.PHP: News Archives 2008 (en inglés) Segundo esta nova  darase soporte a fallos críticos ata o 9 de agosto de 2008.

O 13 de xuño de 2004, foi lanzado PHP 5, utilizando o motor Zend Engine 2.0 (o Zend Engine 2). Inclúe todas as vantaxes de que prové o novo Zend Engine 2, como:

 Mellor soporte para a programación orientada a obxectos, que en versións anteriores era extremadamente rudimentario.
 Melloras de rendemento.
 Mellor soporte para MySQL con extensión completamente reescrita.
 Mellor soporte a XML (XPath, DOM etc.).
 Soporte nativo para SQLite.
 Soporte integrado para SOAP.
 Iteradores de datos.
 Manexo de excecións.
 Melloras coa posta en funcionamento de Oracle.

 Historial de lanzamento 
 Significado Vermello Sen soporte Verde Con soporte Azul Lanzamento futuro

 Versión maior  Versión menor  Data de lanzamento  Notas1 1.0.0Chamada oficialmente "Personal Home Page Tools (PHP Tools)". É a primeira versión en usar o nome "PHP".2 2.0.0Considerada polos seus creadores a "ferramenta máis rápida e sinxela" para crear páxinas web dinámicas.3 3.0.0Zeev Suraski e Andi Gutmans reescribiron a base para esta versión.4 4.0.0Engadiuse un sistema de parsing de dúas fases chamado motor Zend. 4.1.0Introdúcense 'superglobais' ($_GET, $_POST, $_SESSION etc.) 4.2.0Deshabilítanse register_globals por defecto. Os datos recibidos pola rede non son inseridos no espazo de nomes global, pechando posíbeis ocos de seguridade nas aplicacións. 4.3.0Introdúcese CLI, e CGI. 4.4.0Engádense páxinas man para phpize e php-config. 4.4.9Melloras de seguridade e arranxo de bugs. Último lanzamento da serie PHP 4.4.5 5.0.0Motor Zend II cun novo modelo de obxectos. 5.1.0Melloras de rendemento coa introdución de variábeis de compilador para o novo motor de PHP. 5.2.0Actívase a extensión de filtro por defecto. Soporte JSON nativo. 5.2.17 Arranxo de vulnerabilidade crítica conectada a punto flotante. 5.3.0 Soporte para espazos de nomes ; etiqueta de salto (goto limitada), Clausuras nativas, Soporte nativo para arquivos PHP (phar), recolección de lixo para referencias circulares, soporte mellorado para Windows, sqlite3, mysqlnd como substitución a libmysql como librería para extensións que funcionan con MySQL, fileinfo como substitución de mime_magic para mellor soporte MIME, extensión de Internacionalización, e etiqueta ereg obsoleta. 5.3.1 Preto de 100 bug fixes. 5.3.2 Gran número de bug fixes. 5.3.3 Maioritariamente arranxo de erros; FPM SAPI. 5.3.4 Melloras a FPM SAPI. 5.3.5 Arranxo de vulnerabilidade crítica relacionada a punto flotante. 5.3.6 Preto de 60 bug fixes. 5.3.7 Esta versión enfócase na estabilidade con preto de 90 bug fixes, algúns dos cales teñen implicacións na seguridade. 5.3.8 Esta versión arranxa os erros introducidos pola versión 5.3.7. 5.4.0RC3 Ítems eliminados: register_globals, safe_mode, allow_call_time_pass_reference, session_register(), session_unregister() e session_is_registered(). Melloras nas características existentes. 6 ?.?Sen dataO desenvolvemento de PHP 6 atrasouse porque os desenvolvedores decidiron que o enfoque actual para tratar cadeas Unicode non é correcto, e están considerando formas alternas para a seguinte versión. 7.0 3 de decembro de 2015 3 de decembro de 2018  7.1 1 de decembro de 2016 1 de decembro de 2019 void return type, class constant visibility modifiers 7.2 30 de novembro de 2017 30 de novembro de 2020 Object parameter and return type hint, Libsodium extension, Abstract method overriding, Parameter type widening 7.3 6 de decembro de 2018 6 de decembro de 2021 Flexible Heredoc and Nowdoc syntax, support for reference assignment and array deconstruction with list(), PCRE2 support, hrtime() function

 Exemplos de código 
As liñas de código php deben ir precedidas de <?php e finalizadas con ?>.

 info.php (mostra as características e variábeis do sistema no que está a funcionar).

<?php
   phpinfo();
?>

 data.php (imprime a data no formato día/mes/ano)
<?php
   echo date('d/m/Y');
?>

 Notas 

 Véxase tamén 
 Outros artigos 
 MySQL
 Perl
 PHP-GTK

 Ligazóns externas 
 PHP.net 
 Páxina web oficial
 Subpáxinas seleccionadas:
 Información licenza do PHP
 Subdominios seleccionados:
 PEAR - Repositorio de clases PHP
 PECL - Repositorio de extensións PHP
 Smarty - Engine de templates
 PHP-GTK - Bind do framework GTK+ para PHP

 Recursos 
 Zend - A empresa que oficialmente desenvolve o PHP

 Seguranza 
 PHP Security Consortium  — Grupo internacional de programadores de PHP.
 PHP Security Workbook — Un libro de 55 páxinas sobre varios tópicos de seguranza.

 Outras fontes de clases e padróns 
 php Clases
 php Patterns
 php Tutorials

Categoría:Acrónimos de informática
Categoría:Linguaxes de programación