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.
PHP | |
---|---|
Paradigma | multiparadigma |
Data | 1995 |
Deseñador | Rasmus Lerdorf |
Desenvolvedor | PHP Group |
Última versión | 7.3.2 6 de febreiro de 2019 |
Tipo de dato | dinámico |
Influído por | C, C++, Perl, Java, Python |
Sistema operativo | Multiplataforma |
Licenza | PHP License 3.01 |
Web | www.php.net |
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
editarTrá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
editarFoi 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:
- 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
editarSignificado | |
---|---|
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
editarAs 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- ↑ PHP: News Archives 2007 (en inglés) Consultado 9 de decembro de 2007
- ↑ PHP: News Archives 2008 (en inglés)
- ↑ 3,0 3,1 3,2 "History of PHP and related projects". The PHP Group. Consultado o 25-02-2008.
- ↑ 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.
- ↑ "PHP: Using PHP from the command line - Manual:". The PHP Group. Consultado o 11-09-2009.
- ↑ "Downloads". PHP. Consultado o 29-07-2009.
- ↑ "4.4.9 Release Announcement". PHP. Consultado o 29-07-2009.
- ↑ 8,0 8,1 8,2 "PHP: PHP 5 ChangeLog". The PHP Group. 08-11-2007. Consultado o 22-02-2008.
- ↑ "News Archive – 2018: PHP 7.2.9 Released".
- ↑ "PHP: rfc:void_return_type".
- ↑ "PHP: rfc:class_constant".
- ↑ "PHP: rfc:object-typehint".
- ↑ "PHP: rfc:libsodium".
- ↑ "PHP: rfc:allow-abstract-function-override".
- ↑ "PHP: rfc:parameter-no-type-variance".
- ↑ "PHP: todo:php73".
- ↑ "PHP: rfc:flexible_heredoc_nowdoc_syntaxes".
- ↑ "PHP: rfc:list_reference_assignment". wiki.php.net.
- ↑ "PHP: rfc:pcre2-migration". wiki.php.net.
- ↑ "PHP: hrtime - Manual". php.net.
Véxase tamén
editarOutros artigos
editarLigazóns externas
editarPHP.net
editar- Páxina web oficial
- Subpáxinas seleccionadas:
- Subdominios seleccionados:
Recursos
editarSeguranza
editar- PHP Security Consortium Arquivado 31 de agosto de 2005 en Wayback Machine. — Grupo internacional de programadores de PHP.
- PHP Security Workbook — Un libro de 55 páxinas sobre varios tópicos de seguranza.