¿Qué es PHP?
PHP (acrónimo recursivo de PHP: Hypertext Preprocessor
) es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo web y que puede ser incrustado en HTML.
Bien, pero ¿qué significa realmente? Un ejemplo nos aclarará las cosas:
Ejemplo #1 Un ejemplo introductorio
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo</title>
</head>
<body>
<?php
echo "¡Hola, soy un script de PHP!";
?>
</body>
</html>
En lugar de usar muchos comandos para mostrar HTML (como en C o en Perl), las páginas de PHP contienen HTML con código incrustado que hace «algo» (en este caso, mostrar «¡Hola, soy un script de PHP!). El código de PHP está encerrado entre las etiquetas especiales de comienzo y final <?php
y ?>
que permiten entrar y salir del «modo PHP».
Lo que distingue a PHP de algo del lado del cliente como Javascript es que el código es ejecutado en el servidor, generando HTML y enviándolo al cliente. El cliente recibirá el resultado de ejecutar el script, aunque no se sabrá el código subyacente que era. El servidor web puede ser configurado incluso para que procese todos los ficheros HTML con PHP, por lo que no hay manera de que los usuarios puedan saber qué se tiene debajo de la manga.
Lo mejor de utilizar PHP es su extrema simplicidad para el principiante, pero a su vez ofrece muchas características avanzadas para los programadores profesionales. No sienta miedo de leer la larga lista de características de PHP. En unas pocas horas podrá empezar a escribir sus primeros scripts.
Aunque el desarrollo de PHP está centrado en la programación de scripts del lado del servidor, se puede utilizar para muchas otras cosas. Siga leyendo y descubra más en la sección ¿Qué puede hacer PHP?, o vaya directo al tutorial introductorio si solamente está interesado en programación web.
Instalación y configuración ¶
- Consideraciones generales de instalación
- Instalación sobre sistemas Unix
- Apache 2.x sobre sistemas Unix
- Nginx 1.4.x en sistemas Unix
- Lighttpd 1.4 en sistemas Unix
- Servior web LiteSpeed/OpenLiteSpeed en sistemas Unix
- CGI y configuraciones de línea de comandos
- Notas de instalación para OpenBSD
- Solaris sugerencias específicas de instalación
- Notas de instalación en Debian GNU/Linux
- Instalación en Mac OS X
- Instalación en sistemas Windows
- Requisitos de instalación
- PECL
- Herramientas de instalación de PHP en Windows
- Configuración recomendada en sistemas Windows
- Instalación manual de PHP en Windows
- Compilando desde código fuente
- Línea de comandos PHP en Microsoft Windows
- Apache 2.x en Microsoft Windows
- Resolución de problemas de PHP en Windows
- Instalación en las plataformas de Nube Informática
- Manejador de Procesos FastCGI (FPM)
- Instalación de extensiones PECL
- Resolución de problemas
- Configuración en tiempo de ejecución
Un tutorial sencillo
Tabla de contenidos
A continuación, nos gustaría mostrarle lo esencial de PHP en un corto y sencillo tutorial. Este documento solamente trata de la creación de páginas web dinámicas con PHP, aunque PHP no solamente es capaz de crear páginas web. Consulte la sección titulada ¿Qué puede hacer PHP? para más información.
Las páginas web que usan PHP se tratan igual que páginas HTML comunes y corrientes, y se pueden crear y editar de la misma manera que normalmente se crean páginas HTML.
¿Qué puede hacer PHP?
Cualquier cosa. PHP está enfocado principalmente a la programación de scripts del lado del servidor, por lo que se puede hacer cualquier cosa que pueda hacer otro programa CGI, como recopilar datos de formularios, generar páginas con contenidos dinámicos, o enviar y recibir cookies. Aunque PHP puede hacer mucho más.
Existen principalmente tres campos principales donde se usan scripts de PHP.
- Scripts del lado del servidor. Este es el campo más tradicional y el foco principal. Son necesarias tres cosas para que esto funcione: el analizador de PHP (módulo CGI o servidor), un servidor web y un navegador web. Es necesario ejecutar el servidor con una instalación de PHP conectada. Se puede acceder al resultado del programa de PHP con un navegador, viendo la página de PHP a través del servidor. Todo esto se puede ejecutar en su máquina si está experimentado con la programación de PHP. Véase la sección sobre las instrucciones de instalación para más información.
- Scripts desde la línea de comandos. Se puede crear un script de PHP y ejecutarlo sin necesidad de un servidor o navegador. Solamente es necesario el analizador de PHP para utilizarlo de esta manera. Este tipo de uso es ideal para scripts que se ejecuten con regularidad empleando cron (en *nix o Linux) o el Planificador de tareas (en Windows). Estos scripts también pueden usarse para tareas simples de procesamiento de texto. Véase la sección Uso de PHP en la línea de comandos para más información.
- Escribir aplicaciones de escritorio. Probablemente PHP no sea el lenguaje más apropiado para crear aplicaciones de escritorio con una interfaz gráfica de usuario, pero si se conoce bien PHP, y se quisiera utilizar algunas características avanzadas de PHP en aplicaciones del lado del cliente, se puede utilizar PHP-GTK para escribir dichos programas. También es posible de esta manera escribir aplicaciones independientes de una plataforma. PHP-GTK es una extensión de PHP, no disponible en la distribución principal. Si está interesado en PHP-GTK, puede visitar su propio » sitio web.
PHP puede emplearse en todos los sistemas operativos principales, incluyendo Linux, muchas variantes de Unix (incluyendo HP-UX, Solaris y OpenBSD), Microsoft Windows, macOS, RISC OS y probablemente otros más. PHP admite la mayoría de servidores web de hoy en día, incluyendo Apache, IIS, y muchos otros. Esto incluye cualquier servidor web que pueda utilizar el binario de PHP FastCGI, como lighttpd y nginx. PHP funciona tanto como módulo como procesador de CGI.
De modo que con PHP, se tiene la libertad de elegir el sistema operativo y el servidor web. Además, se tiene la posibilidad de utilizar programación por procedimientos o programación orientada a objetos (POO), o una mezcla de ambas.
Con PHP no se está limitado a generar HTML. Entre las capacidades de PHP se incluyen la creación de imágenes, ficheros PDF e incluso películas Flash (usando libswf y Ming) generadas sobre la marcha. También se puede generar fácilmente cualquier tipo de texto, como XHTML y cualquier otro tipo de fichero XML. PHP puede autogenerar estos ficheros y guardarlos en el sistema de ficheros en vez de imprimirlos en pantalla, creando una caché en el lado del servidor para contenido dinámico.
Una de las características más potentes y destacables de PHP es su soporte para un amplio abanico de bases de datos. Escribir una página web con acceso a una base de datos es increíblemente simple utilizando una de las extensiones específicas de bases de datos (p.ej., para mysql), o utilizar una capa de abstracción como PDO, o conectarse a cualquier base de datos que admita el estándar de Conexión Abierta a Bases de Datos por medio de la extensión ODBC. Otras bases de datos podrían utilizar cURL o sockets, como lo hace CouchDB.
PHP también cuenta con soporte para comunicarse con otros servicios usando protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (en Windows) y muchos otros. También se pueden crear sockets de red puros e interactuar usando cualquier otro protocolo. PHP tiene soporte para el intercambio de datos complejos de WDDX entre virtualmente todos los lenguajes de programación web. Y hablando de interconexión, PHP tiene soporte para la instalación de objetos de Java y emplearlos de forma transparente como objetos de PHP.
PHP tiene útiles características de procesamiento de texto, las cuales incluyen las expresiones regulares compatibles con Perl (PCRE), y muchas extensiones y herramientas para el acceso y análisis de documentos XML. PHP estandariza todas las extensiones XML sobre el fundamento sólido de libxml2, y amplía este conjunto de características añadiendo soporte para SimpleXML, XMLReader y XMLWriter.
Existen otras extensiones interesantes, las cuales están categorizadas alfabéticamente y por categoría. También hay extensiones adicionales de PECL que podrían estar documentadas o no dentro del manual de PHP, tal como » XDebug.
Como se puede apreciar, esta página no es suficiente para enumerar todas las características y beneficios que ofrece PHP. Consulte las secciones Instalación de PHP y Referencia de las funciones para una explicación de las extensiones mencionadas aquí.
Referencia de funciones ¶
Sugerencia
Ver también Categorización de Extensiones.
Referencia de funciones ¶
Sugerencia
Ver también Categorización de Extensiones.
- Afecta el comportamiento de PHP
- APCu — APC User Cache
- Componere
- Manejo de errores — Manejo y registro de errores
- FFI — Foreign Function Interface
- OPcache
- Control de la salida — Control del búfer de salida
- Opciones/Info de PHP — Opciones e Información de PHP
- phpdbg — Interactive PHP Debugger
- runkit
- uopz — User Operations for Zend
- WinCache — Caché de Windows para PHP
- Xhprof — Hierarchical Profiler
- Yac
- Manipulación de formatos de audio
- OpenAL — Vinculaciones de audio del OpenAL
- Servicios de autenticación
- Extensiones específicas de la línea de comandos
- Readline — GNU Readline
- Extensiones de compresión y archivos
- Extensiones criptográficas
- Extensiones de bases de datos
- Extensiones relacionadas con fecha y hora
- Calendario
- Fecha/Hora — Fecha y Hora
- HRTime — HRTime – Medición del tiempo en alta resolución
- Extensiones relacionadas con el sistema de ficheros
- Direct IO
- Directorios
- Fileinfo — Información de un fichero
- Sistema de Ficheros
- Inotify
- xattr
- xdiff
- Soporte para lenguaje humano y codificación de caracteres
- Procesamiento y generación de imágenes
- Exif — Información de imagen intercambiable
- GD — Procesamiento de imágenes y GD
- Gmagick
- ImageMagick — Procesamiento de imágenes (ImageMagick)
- Extensiones relacionadas con Email
- Extensiones matemáticas
- BC Math — Matemáticas de precisión arbitraria BCMath
- GMP — Precisión Múltiple de GNU (GNU Multiple Precision)
- Math — Funciones matemáticas
- Statistics
- Trader — Análisis técnico para comerciantes
- Salida MIME que no es texto
- Extensiones de control de procesos
- Otras extensiones básicas
- GeoIP — Localización Geo IP
- FANN — FANN (Fast Artificial Neural Network – Red Neuronal Artificial Rápida)
- Igbinary
- JSON — JavaScript Object Notation
- Lua
- LuaSandbox
- Misc. — Funciones varias
- Seaslog
- SPL — SPL – Biblioteca estándar de PHP
- Flujos
- Swoole
- Tidy
- Tokenizer
- URLs
- V8js — Motor de integración V8 Javascript
- Yaml — Serialización de datos YAML
- Yaf — Yet Another Framework
- Yaconf
- Taint
- Data Structures
- var_representation
- Otros servicios
- cURL — Biblioteca URL cliente
- Event
- FTP
- Gearman
- LDAP — Protocolo Ligero de Acceso a Directorios
- Memcache
- Memcached
- mqseries
- Network
- RRD — RRDtool
- ScoutAPM
- SNMP
- Sockets
- SSH2 — Secure Shell2
- Stomp — Cliente Stomp
- SVM — Soporte Vector Machine
- SVN — Subversion
- TCP — Envolturas TCP
- Varnish
- YAZ
- Mensajería de 0MQ — ZMQ
- ZooKeeper
- Extensiones para motores de búsqueda
- Solr — Solr de Apache
- Extensiones específicas para Servidores
- Extensiones de sesiones
- Sesiones — Manejo de sesiones
- Procesamiento de texto
- CommonMark
- Parle — Parsing and lexing
- PCRE — Expresiones regulares (compatibles con Perl)
- ssdeep — ssdeep Fuzzy Hashing
- Strings
- Extensiones relacionadas con variable y tipo
- Arrays
- Clases/Objetos — Información de Clases/Objetos
- Ctype — Comprobación del tipo de carácter
- Filter — Filtrado de datos
- Manejo de Funciones
- Quickhash
- Reflection
- Manejo de variables
- Servicios web
- Extensiones específicas de Windows
- COM — COM y .Net (Windows)
- win32service
- Manipulación de XML
- Extensiones de GUI
- Afecta el comportamiento de PHP
- APCu — APC User Cache
- Componere
- Manejo de errores — Manejo y registro de errores
- FFI — Foreign Function Interface
- OPcache
- Control de la salida — Control del búfer de salida
- Opciones/Info de PHP — Opciones e Información de PHP
- phpdbg — Interactive PHP Debugger
- runkit
- uopz — User Operations for Zend
- WinCache — Caché de Windows para PHP
- Xhprof — Hierarchical Profiler
- Yac
- Manipulación de formatos de audio
- OpenAL — Vinculaciones de audio del OpenAL
- Servicios de autenticación
- Extensiones específicas de la línea de comandos
- Readline — GNU Readline
- Extensiones de compresión y archivos
- Extensiones criptográficas
- Extensiones de bases de datos
- Extensiones relacionadas con fecha y hora
- Calendario
- Fecha/Hora — Fecha y Hora
- HRTime — HRTime – Medición del tiempo en alta resolución
- Extensiones relacionadas con el sistema de ficheros
- Direct IO
- Directorios
- Fileinfo — Información de un fichero
- Sistema de Ficheros
- Inotify
- xattr
- xdiff
- Soporte para lenguaje humano y codificación de caracteres
- Procesamiento y generación de imágenes
- Exif — Información de imagen intercambiable
- GD — Procesamiento de imágenes y GD
- Gmagick
- ImageMagick — Procesamiento de imágenes (ImageMagick)
- Extensiones relacionadas con Email
- Extensiones matemáticas
- BC Math — Matemáticas de precisión arbitraria BCMath
- GMP — Precisión Múltiple de GNU (GNU Multiple Precision)
- Math — Funciones matemáticas
- Statistics
- Trader — Análisis técnico para comerciantes
- Salida MIME que no es texto
- Extensiones de control de procesos
- Otras extensiones básicas
- GeoIP — Localización Geo IP
- FANN — FANN (Fast Artificial Neural Network – Red Neuronal Artificial Rápida)
- Igbinary
- JSON — JavaScript Object Notation
- Lua
- LuaSandbox
- Misc. — Funciones varias
- Seaslog
- SPL — SPL – Biblioteca estándar de PHP
- Flujos
- Swoole
- Tidy
- Tokenizer
- URLs
- V8js — Motor de integración V8 Javascript
- Yaml — Serialización de datos YAML
- Yaf — Yet Another Framework
- Yaconf
- Taint
- Data Structures
- var_representation
- Otros servicios
- cURL — Biblioteca URL cliente
- Event
- FTP
- Gearman
- LDAP — Protocolo Ligero de Acceso a Directorios
- Memcache
- Memcached
- mqseries
- Network
- RRD — RRDtool
- ScoutAPM
- SNMP
- Sockets
- SSH2 — Secure Shell2
- Stomp — Cliente Stomp
- SVM — Soporte Vector Machine
- SVN — Subversion
- TCP — Envolturas TCP
- Varnish
- YAZ
- Mensajería de 0MQ — ZMQ
- ZooKeeper
- Extensiones para motores de búsqueda
- Solr — Solr de Apache
- Extensiones específicas para Servidores
- Extensiones de sesiones
- Sesiones — Manejo de sesiones
- Procesamiento de texto
- CommonMark
- Parle — Parsing and lexing
- PCRE — Expresiones regulares (compatibles con Perl)
- ssdeep — ssdeep Fuzzy Hashing
- Strings
- Extensiones relacionadas con variable y tipo
- Arrays
- Clases/Objetos — Información de Clases/Objetos
- Ctype — Comprobación del tipo de carácter
- Filter — Filtrado de datos
- Manejo de Funciones
- Quickhash
- Reflection
- Manejo de variables
- Servicios web
- Extensiones específicas de Windows
- COM — COM y .Net (Windows)
- win32service
- Manipulación de XML
- Extensiones de GUI
SI TE INTERESA APRENDER MÁS SOBRE PHP Y MYSQL MIRA ESTE LIBRO
¡Cuéntame en los comentarios!
Enlaces internos:
Últimas Noticias Digitales
Blog
Tienda
Sí, te ha Gustado.
¡Cuéntame en los comentarios!