PHP (oficialmente, este sigle es un acrónimo recursivo para PHP Hypertext Preprocessor) es un lenguaje de scripts generalista y Open Source, especialmente concebido para el desarrollo de aplicaciones web. Puede ser integrado fácilmente al HTML.
Bien... pero ¿qué significa esto? Un ejemplo:
Ejemplo #1 Ejemplo de introducción
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo</title>
</head>
<body>
<?php
echo "Hola, soy un script PHP!";
?>
</body>
</html>
En lugar de utilizar toneladas de comandos para mostrar HTML (como en
C o en Perl), las páginas PHP contienen fragmentos HTML con código que hace "algo" (en este caso, mostrará
"Hola, soy un script PHP!").
El código PHP está incluido entre
una etiqueta de inicio
<?php
y una etiqueta de fin ?>
que permiten al servidor web pasar al modo PHP
.
Lo que distingue a PHP de los lenguajes de script como JavaScript, es que el código se ejecuta en el servidor, generando así el HTML, que será luego enviado al cliente. El cliente solo recibe el resultado del script, sin ningún medio de acceso al código que produjo dicho resultado. Se puede configurar el servidor web para que analice todos los ficheros HTML como ficheros PHP. Así, no hay manera de distinguir las páginas que son producidas dinámicamente de las páginas estáticas. Un servidor web puede incluso ser configurado para procesar todos los ficheros HTML con PHP, y no hay manera para los usuarios de saber que PHP está siendo utilizado.
La gran ventaja de PHP es que es extremadamente simple para los principiantes, pero ofrece funcionalidades avanzadas para los expertos. No tema leer la larga lista de funcionalidades PHP. Con PHP, casi todo el mundo puede comenzar rápidamente y escribir scripts simples en poco tiempo.
Aunque el desarrollo de PHP está orientado hacia la programación para sitios web, se puede hacer mucho más con PHP. Lea la sección ¿Qué puede hacer PHP? o el tutorial de introducción para pasar directamente al aprendizaje de la programación web.
Todo. PHP está principalmente concebido para servir como lenguaje de script del lado del servidor, por lo que puede hacer todo lo que cualquier otro programa CGI puede hacer, como recolectar datos de formularios, generar contenido dinámico, o gestionar cookies. Pero PHP puede hacer mucho más.
Hay dos ámbitos diferentes donde PHP puede destacar.
gestor de tareas
(en Windows). Estos scripts
también pueden ser utilizados para realizar operaciones en ficheros de texto. Vea la sección sobre el uso de PHP en
línea de comandos
para más información.
PHP es utilizable en la mayoría de los sistemas operativos, como Linux, muchas variantes Unix (incluyendo HP-UX, Solaris y OpenBSD), Microsoft Windows, macOS, RISC OS y otros más. PHP también soporta la mayoría de los servidores web actuales como Apache, IIS y muchos otros. Y esto incluye todos los servidores web que pueden utilizar el binario PHP FastCGI, como lighttpd y nginx. PHP funciona como módulo, o como procesador CGI.
Con PHP, los desarrolladores tienen la opción del sistema operativo y del servidor web. Además, también tienen la opción de utilizar la programación procedimental u orientada a objetos (OOP), o incluso una mezcla de ambas.
Con PHP, no se limita a la producción de código HTML. Las capacidades de PHP incluyen la creación de tipos de ficheros ricos, como imágenes o ficheros PDF, el cifrado de datos y el envío de correos electrónicos. También puede generar fácilmente cualquier texto, como JSON o XML. PHP puede generar automáticamente estos ficheros y guardarlos en el sistema de ficheros en lugar de imprimirlos, formando así una caché del lado del servidor para contenido dinámico.
Una de las fortalezas más significativas de PHP es que soporta enormemente bases de datos. Escribir una página web que utilice una base de datos se vuelve extremadamente simple, utilizando una de las extensiones específicas para bases de datos (i.e., para mysql), o utilizando una clase de abstracción como PDO, o una conexión a cualquier base de datos que soporte la conexión estándar abierta a través de la extensión ODBC. Otras bases de datos pueden utilizar la extensión cURL o sockets como CouchDB.
PHP soporta numerosos protocolos como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (en Windows) y muchos otros. También puede abrir sockets de red, e interactuar con cualquier otro protocolo. PHP soporta el formato complejo WDDX, que permite la comunicación entre todos los lenguajes web. En términos de interconexión, PHP también soporta los objetos Java, y los utiliza de manera transparente como objetos integrados.
PHP posee funcionalidades útiles en el tratamiento de texto, incluyendo las expresiones regulares compatibles con Perl (PCRE), así como un gran número de extensiones y utilidades para analizar y acceder a documentos XML. PHP estandariza todas las extensiones XML sobre la sólida base de libxml2, y extiende el conjunto de funcionalidades añadiendo soporte para SimpleXML, XMLReader y XMLWriter.
Muchas otras extensiones existen, categorizadas alfabéticamente y por categoría. Y finalmente, existen extensiones PECL que pueden (o no) estar documentadas en el manual PHP, como » XDebug.
Esta página no es lo suficientemente grande para listar todas las potentes funcionalidades de PHP. Lea la sección sobre la instalación de PHP y estudie la lista de funciones para obtener más detalles sobre todas estas tecnologías.