PHP

Na Galipedia, a Wikipedia en galego.
PHP
Paradigmamultiparadigma
Data1995
DeseñadorRasmus Lerdorf
DesenvolvedorPHP Group
Última versión7.3.2
6 de febreiro de 2019
Tipo de datodinámico
Influído porC, C++, Perl, Java, Python
Sistema operativoMultiplataforma
LicenzaPHP License 3.01
Webwww.php.net

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[editar | editar a fonte]

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[editar | editar a fonte]

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,[1] 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.[2] Segundo esta nova [1] 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:

Historial de lanzamento[editar | editar a fonte]

Significado
Vermello Sen soporte
Verde Con soporte
Azul Lanzamento futuro
Versión maior Versión menor Data de lanzamento Notas
1 1.0.0 1995-06-08 Chamada oficialmente "Personal Home Page Tools (PHP Tools)". É a primeira versión en usar o nome "PHP".[3]
2 2.0.0 1997-11-01 Considerada polos seus creadores a "ferramenta máis rápida e sinxela" para crear páxinas web dinámicas.[3]
3 3.0.0 1998-06-06 Zeev Suraski e Andi Gutmans reescribiron a base para esta versión.[3]
4 4.0.0 2000-05-22 Engadiuse un sistema de parsing de dúas fases chamado motor Zend.[4]
4.1.0 2001-12-10 Introdúcense 'superglobais' ($_GET, $_POST, $_SESSION etc.)[4]
4.2.0 2002-04-22 Deshabilítanse register_globals por defecto. Os datos recibidos pola rede non son insertados no espazo de nomes global, pechando posíbeis ocos de seguridade nas aplicacións.[4]
4.3.0 2002-12-27 Introdúcese CLI, e CGI.[4][5]
4.4.0 2005-07-11 Engádense páxinas man para phpize e php-config.[4]
4.4.9 2008-08-07 Melloras de seguridade e arranxo de bugs. Último lanzamento da serie PHP 4.4.[6][7]
5 5.0.0 2004-07-13 Motor Zend II cun novo modelo de obxectos.[8]
5.1.0 2005-11-24 Melloras de rendemento coa introdución de variábeis de compilador para o novo motor de PHP.[8]
5.2.0 2006-11-02 Actívase a extensión de filtro por defecto. Soporte JSON nativo.[8]
5.2.17 2011-01-06 Arranxo de vulnerabilidade crítica conectada a punto flotante.
5.3.0 2009-06-30 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 2009-11-19 Preto de 100 bug fixes.
5.3.2 2010-03-04 Gran número de bug fixes.
5.3.3 2010-07-22 Maioritariamente arranxo de erros; FPM SAPI.
5.3.4 2010-12-10 Melloras a FPM SAPI.
5.3.5 2011-01-06 Arranxo de vulnerabilidade crítica relacionada a punto flotante.
5.3.6 2011-03-10 Preto de 60 bug fixes.
5.3.7 2011-08-18 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 2011-08-23 Esta versión arranxa os erros introducidos pola versión 5.3.7.
5.4.0RC3 2011-12-08 Í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 data O 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[9] 3 de decembro de 2018
7.1 1 de decembro de 2016 1 de decembro de 2019 void return type,[10] class constant visibility modifiers[11]
7.2 30 de novembro de 2017 30 de novembro de 2020 Object parameter and return type hint[12], Libsodium extension[13], Abstract method overriding[14], Parameter type widening[15]
7.3 6 de decembro de 2018[16] 6 de decembro de 2021 Flexible Heredoc and Nowdoc syntax[17], support for reference assignment and array deconstruction with list()[18], PCRE2 support[19], hrtime() function[20]

Exemplos de código[editar | editar a fonte]

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[editar | editar a fonte]

  1. PHP: News Archives 2007 (en inglés) Consultado 9 de decembro de 2007
  2. PHP: News Archives 2008 (en inglés)
  3. 3,0 3,1 3,2 "History of PHP and related projects". The PHP Group. Consultado o 25-02-2008. 
  4. 4,0 4,1 4,2 4,3 4,4 "PHP: PHP 4 ChangeLog". The PHP Group. 03-01-2008. Consultado o 22-02-2008. 
  5. "PHP: Using PHP from the command line - Manual:". The PHP Group. Consultado o 11-09-2009. 
  6. "Downloads". PHP. Consultado o 29-07-2009. 
  7. "4.4.9 Release Announcement". PHP. Consultado o 29-07-2009. 
  8. 8,0 8,1 8,2 "PHP: PHP 5 ChangeLog". The PHP Group. 08-11-2007. Consultado o 22-02-2008. 
  9. "News Archive – 2018: PHP 7.2.9 Released". 
  10. "PHP: rfc:void_return_type". 
  11. "PHP: rfc:class_constant". 
  12. "PHP: rfc:object-typehint". 
  13. "PHP: rfc:libsodium". 
  14. "PHP: rfc:allow-abstract-function-override". 
  15. "PHP: rfc:parameter-no-type-variance". 
  16. "PHP: todo:php73". 
  17. "PHP: rfc:flexible_heredoc_nowdoc_syntaxes". 
  18. "PHP: rfc:list_reference_assignment". wiki.php.net. 
  19. "PHP: rfc:pcre2-migration". wiki.php.net. 
  20. "PHP: hrtime - Manual". php.net. 

Véxase tamén[editar | editar a fonte]

Outros artigos[editar | editar a fonte]

Ligazóns externas[editar | editar a fonte]

PHP.net[editar | editar a fonte]

Recursos[editar | editar a fonte]

Seguranza[editar | editar a fonte]

Outras fontes de clases e padróns[editar | editar a fonte]