Vous êtes sur la page 1sur 8

PHP

De Wikipedia, la enciclopedia libre


(Redirigido desde «Php»)
Saltar a: navegación, búsqueda
Para otros usos de este término, véase PHP (desambiguación).

PHP

Desarrollador(es)

PHP Group
php.net

Información general

Extensiones .php, .phtml, .php3, .php4, .php5,


comunes .php7, .phps

Paradigma Multiparadigma: imperativo,


funcional, orientado a objetos,
procedural, reflexivo

Apareció en 1995

Diseñado por Rasmus Lerdorf

Última versión 7.2.21 (1 de febrero de 2018 (1 mes))


estable

Sistema de tipos Dinámico, débil


Implementaciones Motor Zend, HHVM, Phalanger,
Quercus, Project Zero, Parrot

Influido por Perl, C, C++, Java, Tcl

Ha influido a Falcon, Hack

Sistema operativo Unix-like, Windows

Licencia Licencia PHP

[editar datos en Wikidata]

PHP, sigla recursiva en inglés de PHP: Hypertext Preprocessor (procesador de


hipertexto), es un lenguaje de programación de propósito general de código del lado del
servidor originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno
de los primeros lenguajes de programación del lado del servidor que se podían
incorporar directamente en el documento HTML en lugar de llamar a un archivo
externo que procese los datos. El código es interpretado por un servidor web con un
módulo de procesador de PHP que genera la página web resultante. PHP ha
evolucionado por lo que ahora incluye también una interfaz de línea de comandos que
puede ser usada en aplicaciones gráficas independientes. Puede ser usado en la mayoría
de los servidores web al igual que en casi todos los sistemas operativos y plataformas
sin ningún costo.

Fue creado originalmente por Rasmus Lerdorf en el año 1995. Actualmente el lenguaje
sigue siendo desarrollado con nuevas funciones por el grupo PHP.2 Este lenguaje forma
parte del software libre publicado bajo la licencia PHP, que es incompatible con la
Licencia Pública General de GNU debido a las restricciones del uso del término PHP.3

Índice
[ocultar]

• 1 Etimología
• 2 Visión general
• 3 Historia
o 3.1 Historial de lanzamiento
• 4 Sintaxis
• 5 Características de PHP
o 5.1 Características
o 5.2 Inconvenientes
o 5.3 XAMPP, LAMP, WAMP, MAMP, UwAmp
o 5.4 Principales sitios desarrollados con PHP
• 6 Referencias
• 7 Enlaces externos

Etimología[editar]
PHP es un acrónimo recursivo que significa PHP Hypertext Preprocessor (inicialmente
PHP Tools, o, Personal Home Page Tools).4 Fue creado originalmente por Rasmus
Lerdorf; sin embargo, la implementación principal de PHP es producida ahora por The
PHP Group y sirve como el estándar de facto para PHP, al no haber una especificación
formal. Publicado con la PHP License, la Free Software Foundation considera esta
licencia como software libre.3

Visión general[editar]
PHP puede ser desplegado en la mayoría de los servidores web y en casi todos los
sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra
instalado en más de 20 millones de sitios web y en un millón de servidores. El número
de sitios basados en PHP se ha visto reducido progresivamente en los últimos años, con
la aparición de nuevas tecnologías como Node.JS, Golang, ASP.NET, etc. El sitio web
de Wikipedia está desarrollado en PHP.5 Es también el módulo Apache más popular
entre las computadoras que utilizan Apache como servidor web.

El gran parecido que posee PHP con los lenguajes más comunes de programación
estructurada, como C y Perl, permiten a la mayoría de los programadores crear
aplicaciones complejas con una curva de aprendizaje muy corta. También les permite
involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un
nuevo grupo de funciones.

Aunque todo en su diseño está orientado a facilitar la creación de sitios webs, es posible
crear aplicaciones con una interfaz gráfica para el usuario, utilizando alguna extensión
como puede ser PHP-Qt, PHP-GTK,6 WxPHP, WinBinder, Roadsend PHP, Phalanger,
Phc o HiP Hop VM. También puede ser usado desde la línea de comandos, de la misma
manera como Perl o Python pueden hacerlo; a esta versión de PHP se la llama PHP-CLI
(Command Line Interface).7

Cuando el cliente hace una petición al servidor para que le envíe una página web, el
servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el
contenido de manera dinámica (por ejemplo obteniendo información de una base de
datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía al
cliente.

Mediante extensiones es también posible la generación de archivos PDF,8 Flash, así


como imágenes en diferentes formatos.

Permite la conexión a diferentes tipos de servidores de bases de datos tanto SQL como
NoSQL tales como MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server,
Firebird, SQLite o MongoDB.9
PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas
operativos, tales como Unix (y de ese tipo, como Linux o Mac OS X) y Microsoft
Windows, y puede interactuar con los servidores de web más populares ya que existe en
versión CGI, módulo para Apache, e ISAPI.

PHP es una alternativa a las tecnologías de Microsoft ASP y ASP.NET (que utiliza C# y
Visual Basic .NET como lenguajes), a ColdFusion de la empresa Adobe, a JSP/Java,
CGI/Perl y a Node.js/Javascript. Aunque su creación y desarrollo se da en el ámbito de
los sistemas libres, bajo la licencia GNU, existe además un entorno de desarrollo
integrado comercial llamado Zend Studio. CodeGear (la división de lenguajes de
programación de Borland) ha sacado al mercado un entorno de desarrollo integrado para
PHP, denominado 'Delphi for PHP. También existen al menos un par de módulos para
Eclipse, uno de los entornos más populares.10

Historia[editar]
Fue originalmente diseñado en Perl, con base en la escritura de un grupo de CGI
binarios escritos en el lenguaje C por el programador danés-canadiense Rasmus Lerdorf
en el año 1994 para mostrar su currículum vítae y guardar ciertos datos, como la
cantidad de tráfico que su página web recibía. El 8 de junio de 1995 fue publicado
"Personal Home Page Tools" después de que Lerdorf lo combinara con su propio Form
Interpreter para crear PHP/FI.

Dos programadores israelíes del Technion, Zeev Suraski y Andi Gutmans, reescribieron
el analizador sintáctico (parser, en inglés) en 1997 y crearon la base del PHP3, y
cambiaron el nombre del lenguaje por PHP: Hypertext Preprocessor.2 Inmediatamente
comenzaron experimentaciones públicas de PHP3, y se publicó oficialmente en junio de
1998. Para 1999, Suraski y Gutmans reescribieron el código de PHP, y produjeron lo
que hoy se conoce como motor Zend. También fundaron Zend Technologies en Ramat
Gan, Israel.2

En mayo del 2000, PHP 4 se lanzó bajo el poder del motor Zend 1.0. El 13 de julio del
2007 se anunció la suspensión del soporte y desarrollo de la versión 4 de PHP,11 y, a
pesar de lo anunciado, se ha liberado una nueva versión con mejoras de seguridad, la
4.4.8, publicada el 13 de enero del 2008, y posteriormente la versión 4.4.9, publicada el
7 de agosto del 2008.12 Según esta noticia,13 se le dio soporte a fallos críticos hasta el 9
de agosto del 2008.

El 13 de julio del 2004, se lanzó PHP 5, utilizando el motor Zend Engine 2.0 (o Zend
Engine 2).2 Incluye todas las ventajas que provee el nuevo Zend Engine 2, como:

• Mejor soporte para la programación orientada a objetos, que en versiones


anteriores era extremadamente rudimentario.
• Mejoras de rendimiento
• Mejor soporte para MySQL con extensión completamente reescrita
• Mejor soporte a XML (XPath, DOM, etc.)
• Soporte nativo para SQLite
• Soporte integrado para SOAP
• Iteradores de datos
• Manejo de excepciones
• Mejoras con la implementación con Oracle

Historial de lanzamiento[editar]
Significado
Rojo Versión antigua, sin soporte
Amarillo Con soporte para errores de seguridad
Verde Con soporte para errores generales y de seguridad
Azul Lanzamiento futuro
Rosa Lanzamiento Cancelado
Fecha de Fin de
Versión Notas
lanzamiento soporte
Llamada oficialmente "Personal Home Page Tools
1.0 08-06-1995 (PHP Tools)". Es la primera versión en usar el nombre
"PHP".14
Considerada por sus creadores la "herramienta más
2.0 01-11-1997
rápida y sencilla" para crear páginas web dinámicas.14
20-10- Zeev Suraski y Andi Gutmans reescribieron la base
3.0 06-06-1998
2000 para esta versión.14
23-01- Se añadió un sistema de parsing de dos fases llamado
4.0 22-05-2000
2001 motor Zend.15
12-03- Se introducen 'superglobales' ($_GET, $_POST,
4.1 10-12-2001
2002 $_SESSION, etc.)15
Se deshabilitan register_globals por defecto. Datos
06-09- recibidos por la red no son insertados en el espacio de
4.2 22-04-2002
2002 nombres global, cerrando posibles agujeros de
seguridad en las aplicaciones.15
31-03-
4.3 27-12-2002 Se introduce CLI, y CGI.1516
2005
07-08-
4.4 11-07-2005 Se añaden páginas man para phpize y php-config.15
2008
05-09-
5.0 13-07-2004 Motor Zend II con un nuevo modelo de objetos.17
2005
24-08- Mejoras de rendimiento con la introducción de
5.1 24-11-2005
2006 variables de compilador para el nuevo motor de PHP.17
06-01- Activida extensión de filtro por defecto. Soporte JSON
5.2 02-11-2006
2011 nativo.17
Soporte para espacios de nombres, enlace estático en
tiempo de ejecución, etiqueta de salto (GOTO
limitada), Clausuras nativas, Soporte nativo para
archivos PHP (phar), recolección de basura para
14-08- referencias circulares, soporte mejorado para
5.3 30-06-2009
201418 Windows, sqlite3, mysqlnd como reemplazo a
libmysql como biblioteca para extensiones que
funcionan con MySQL, fileinfo como reemplzado de
mime_magic para mejor soporte MIME, extensión de
Internacionalización, y etiqueta ereg obsoleta.
Soporte para Trait y sintaxis abreviada de array.
Elementos eliminados: register_globals,
safe_mode, allow_call_time_pass_reference,
15-09- session_register(), session_unregister() y
5.4 01-03-2012
2015 session_is_registered(). Servidor web
incorporado.19 Varias mejoras a características
existentes y al rendimiento, y requerimientos de
memoria menores.
Nuevos generadores para bucles, empty() soporta
20-06-
5.5 20-06-2013 expresiones. Se pierde el soporte para Windows XP y
2016
Windows Server 2003.20
Constantes con expresiones escalares, listas de
31-12-
5.6 20-08-2014 argumentos de longitud variable y exponencial
2018
mediante el operador **.21
El desarrollo de PHP 6 ha sido retrasado porque los
desarrolladores decidieron que el enfoque actual para
tratar cadenas Unicode no es correcto, y están
considerando formas alternas para la siguiente
versión.22 Las mejoras planeadas para PHP 6 fueron
añadidas en su lugar en PHP 5.3.0 (Soporte para
6.x
espacios de nombre, enlace estático en tiempo de
ejecución, funciones lambda, clausuras, goto) y 5.4.0
(traits, revinculación de clausura).

Se ha abandonado la versión 6 de PHP siendo la


siguiente versión la 7.23
03-11- Mejoras de rendimiento ,25 declaración de tipos de
7.0 03-11-201524
2018 retorno en funciones 26
Tipo de retorno vacío,29 Clase constante modificadores
01-12-201627 01-12-
7.1 28 de visibilidad,30 Tipos nullable,31 iterable de tipo
2019
seudo,32 Captura múltiples tipos de excepciones.33
30-11- Nuevo tipo de retorno "object"34, integración de
7.2 30-11-2017
2020 Libsodium como una extensión del nucleo35

Sintaxis[editar]
Programa Hola mundo con PHP embebido en código HTML:

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<title> Ejemplo básico PHP</title>
</head>
<body>
<?php
echo 'Hola mundo';
?>
</body>
</html>
El intérprete de PHP solo ejecuta el código que se encuentra entre sus delimitadores.
Los delimitadores más comunes son <?php para abrir una sección PHP y ?> para
cerrarla. El propósito de estos delimitadores es separar el código PHP del resto de
código, como por ejemplo el HTML.36

Las variables se prefijan con el símbolo del dólar ($) y no es necesario indicar su tipo.
Las variables, a diferencia de las funciones, distinguen entre mayúsculas y minúsculas.
Las cadenas de caracteres pueden ser encapsuladas tanto en dobles comillas como en
comillas simples, aunque en el caso de las primeras, se pueden insertar variables en la
cadena directamente, sin necesidad de concatenación.

Los comentarios se pueden escribir bien con dos barras al principio de la línea, o con
una almohadilla. También permite comentarios multi-línea encapsulados en /* */.

En cuanto a las palabras clave, PHP comparte con la mayoría de otros lenguajes con
sintaxis C las condiciones con if, los bucles con for y while y los retornos de
funciones. Como es habitual en este tipo de lenguajes, las sentencias deben acabar con
punto y coma (;).

Características de PHP[editar]
Características[editar]

• Orientado al desarrollo de aplicaciones web dinámicas con acceso a información


almacenada en una base de datos.
• Es considerado un lenguaje fácil de aprender, ya que en su desarrollo se
simplificaron distintas especificaciones, como es el caso de la definición de las
variables primitivas, ejemplo que se hace evidente en el uso de php arrays.
• El código fuente escrito en PHP es invisible al navegador web y al cliente, ya
que es el servidor el que se encarga de ejecutar el código y enviar su resultado
HTML al navegador.
• Capacidad de conexión con la mayoría de los motores de base de datos que se
utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
• Capacidad de expandir su potencial utilizando módulos (llamados ext's o
extensiones).
• Posee una amplia documentación en su sitio web oficial, entre la cual se destaca
que todas las funciones del sistema están explicadas y ejemplificadas en un
único archivo de ayuda.
• Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
• Permite aplicar técnicas de programación orientada a objetos.
• No requiere definición de tipos de variables aunque sus variables se pueden
evaluar también por el tipo que estén manejando en tiempo de ejecución.
• Tiene manejo de excepciones (desde PHP5).
• Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la
hora de programar, aun haciéndolo, el programador37 puede aplicar en su trabajo
cualquier técnica de programación o de desarrollo que le permita escribir código
ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que
en PHP se han hecho del patrón de diseño Modelo Vista Controlador (MVC),
que permiten separar el tratamiento y acceso a los datos, la lógica de control y la
interfaz de usuario en tres componentes independientes.
• Debido a su flexibilidad ha tenido una gran acogida como lenguaje base para las
aplicaciones WEB de manejo de contenido, y es su uso principal.

Inconvenientes[editar]

• Como es un lenguaje que se interpreta en ejecución, para ciertos usos puede


resultar un inconveniente que el código fuente no pueda ser ocultado. La
ofuscación es una técnica que puede dificultar la lectura del código pero no
necesariamente impide que el código sea examinado.
• Debido a que es un lenguaje interpretado, un script en PHP suele funcionar
considerablemente más lento que su equivalente en un lenguaje de bajo nivel,
sin embargo este inconveniente se puede minimizar con técnicas de caché tanto
en archivos como en memoria.
• En las versiones previas a la 7, las variables no son tipificadas, lo cual dificulta a
los diferentes IDEs ofrecer asistencias para el tipificado del código, aunque esto
no es realmente un inconveniente del lenguaje en sí. Esto es solventado por
algunos IDEs añadiendo un comentario con el tipo a la declaración de la
variable.

XAMPP, LAMP, WAMP, MAMP, UwAmp[editar]

La LAMP comprende PHP (aquí con Squid).

XAMPP es un servidor independiente de plataforma, software libre, que consiste


principalmente en la base de datos MySQL, el servidor Web Apache y los intérpretes
para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para
cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El
programa está liberado bajo la licencia GNU y actúa como un servidor Web libre, fácil
de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está disponible
para Microsoft Windows, GNU/Linux, Solaris, y MacOS X. Es un software "liviano"
que se puede utilizar en cualquier PC. No necesita muchos recursos.

LAMP presenta una funcionalidad parecida a XAMPP, pero enfocada en Linux, WAMP
lo hace enfocado en Windows, y MAMP para MacOS X. UwAmp es muy idéntico a
WAMP y se destaca en que se puede ejecutar desde una memoria USB.

Vous aimerez peut-être aussi