Saltar al contenido
Portada » Lenguajes » 1. Introducción a PHP

1. Introducción a PHP

1.1 ¿Qué es PHP y para qué sirve?

Comenzamos con el primer punto del tutorial: Introducción a PHP. PHP (Hypertext Preprocessor) es un lenguaje de programación del lado del servidor utilizado principalmente para el desarrollo de aplicaciones web dinámicas. A diferencia de lenguajes del lado del cliente como JavaScript, el código PHP se ejecuta en el servidor antes de ser enviado al navegador del usuario. Esto permite generar contenido dinámico, procesar la información mediante llamadas a APIS, bases de datos, etc, antes de devolverla a cliente para su visualización.

Puedes ampliar conocimientos de las arquitecturas cliente-servidor en PHP con el libro PHP 8: Programación de aplicaciones web en el servidor: Guía paso a paso con ejemplos y proyectos prácticos

Principales usos de PHP

  1. Creación de páginas web dinámicas:
    PHP permite generar contenido basado en las interacciones del usuario. Por ejemplo, un sitio de noticias puede mostrar artículos actualizados en tiempo real según las preferencias del usuario.
  2. Procesamiento de formularios:
    PHP es excelente para recibir datos enviados desde formularios HTML. Esto incluye funciones como validación de entradas, almacenamiento en bases de datos y procesamiento seguro de información confidencial.
  3. Gestión de bases de datos:
    Con PHP es posible conectarse a bases de datos como MySQL, PostgreSQL o SQLite para leer, escribir y modificar datos. Por esta razón, es ampliamente usado para desarrollar sistemas de gestión de contenido (CMS) como WordPress.
  4. Envío de correos electrónicos:
    PHP proporciona funciones para enviar correos electrónicos automatizados, como notificaciones, boletines o confirmaciones de registro.
  5. Integración con APIs y servicios externos:
    Permite consumir APIs de terceros, como las de Google Maps, redes sociales, o pasarelas de pago como PayPal o Stripe.

Ventajas de PHP

  1. Fácil de aprender:
    La sintaxis de PHP es simple y está diseñada para ser intuitiva incluso para principiantes.
  2. Alta compatibilidad:
    Funciona con la mayoría de servidores web (Apache, Nginx, IIS) y sistemas operativos (Windows, Linux, macOS).
  3. Ampliamente soportado:
    PHP cuenta con una extensa comunidad y una amplia documentación, lo que facilita la resolución de problemas.
  4. Eficiencia en el manejo de datos:
    PHP puede procesar grandes cantidades de datos y realizar operaciones complejas con rapidez, especialmente en la generación de páginas dinámicas.

Ejemplo práctico: Cómo hace PHP para generar contenido dinámico

Imaginemos que quieres personalizar un saludo en función de la hora del día. En HTML estático, esto sería imposible, pero con PHP podemos hacerlo así:

<?php
date_default_timezone_set("America/Mexico_City"); // Configurar la zona horaria
$hora = date("H"); // Obtener la hora actual (formato 24 horas)

if ($hora < 12) {
$saludo = "¡Buenos días!";
} elseif ($hora < 18) {
$saludo = "¡Buenas tardes!";
} else {
$saludo = "¡Buenas noches!";
}
?>

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Ejemplo de PHP</title>
</head>
<body>
<h1><?php echo $saludo; ?></h1> <!-- Mostrar el saludo dinámico -->
</body>
</html>

Explicación del ejemplo

  1. La función date("H") obtiene la hora actual en formato de 24 horas.
  2. Se utiliza un condicional if-elseif-else para decidir el saludo basado en la hora.
  3. Finalmente, el saludo dinámico se imprime dentro del HTML usando <?php echo $variable; ?>.

Al cargar este script en un servidor compatible con PHP, el usuario verá un saludo adecuado a la hora del día, algo que no sería posible con HTML puro.

¿Por qué PHP sigue siendo relevante?

Aunque han surgido otros lenguajes y tecnologías para el desarrollo web, PHP sigue siendo una opción sólida por las siguientes razones:

  1. Uso masivo:
    Según estudios recientes, PHP sigue siendo el lenguaje detrás de más del 75% de los sitios web activos, incluyendo plataformas como WordPress, Facebook (en sus inicios) y Wikipedia.
  2. Frameworks robustos:
    Frameworks como Laravel, Symfony y CodeIgniter han modernizado el desarrollo con PHP, haciéndolo más estructurado, rápido y seguro.
  3. Escalabilidad:
    Gracias a tecnologías modernas como PHP 8 y su JIT Compiler, las aplicaciones PHP ahora pueden manejar cargas más altas con mejor rendimiento.

1.2 Historia y evolución de PHP

PHP, como muchos de los lenguajes que definieron el desarrollo web moderno, tiene una historia fascinante que se remonta a los primeros días de Internet. Su evolución a lo largo de los años ha marcado hitos importantes convirtiéndose en uno de los lenguajes más populares y utilizados en la creación de aplicaciones web.

El origen de PHP

PHP fue creado en 1994 por Rasmus Lerdorf, un programador canadiense-danés, como una herramienta personal para rastrear visitas en su página web. Inicialmente, este conjunto de scripts en Perl y C fue conocido como Personal Home Page Tools. Estos scripts permitían realizar tareas básicas como contar visitantes y manejar formularios.

Con el tiempo, otros desarrolladores comenzaron a mostrar interés en estas herramientas, lo que llevó a Lerdorf a lanzar el código como software libre en 1995 bajo el nombre de PHP/FI (Personal Home Page/Forms Interpreter). Esta versión inicial tenía capacidades limitadas pero marcó el inicio de PHP como un lenguaje accesible y abierto.

PHP/FI 2.0 (1997)

PHP/FI 2.0 representó el primer gran paso hacia un lenguaje de programación más estructurado. Esta versión permitió el uso de variables y condicionales básicos, pero carecía de muchas características avanzadas. A pesar de sus limitaciones, ganó popularidad entre desarrolladores que buscaban una manera sencilla de agregar funcionalidad dinámica a sus sitios web.

PHP 3: El renacimiento (1998)

En 1997, Zeev Suraski y Andi Gutmans, dos programadores israelíes, comenzaron a reescribir el núcleo de PHP para hacerlo más eficiente y flexible. Este esfuerzo resultó en PHP 3, una versión completamente rediseñada que introdujo:

  1. Soporte para extensiones: Posibilidad de ampliar las funcionalidades mediante módulos.
  2. Cambio del nombre: PHP pasó a significar «PHP: Hypertext Preprocessor».
  3. Popularidad creciente: PHP 3 ganó aceptación gracias a su flexibilidad y facilidad de uso, convirtiéndose en una herramienta fundamental para el desarrollo web dinámico.

PHP 4: Rendimiento mejorado (2000)

Con el lanzamiento de PHP 4, el lenguaje se convirtió en una opción seria para desarrolladores profesionales. Esto se logró gracias a la introducción del Zend Engine 1.0, creado por Suraski y Gutmans, que proporcionó un motor de ejecución más eficiente y estable.

Nuevas características clave en PHP 4:

  1. Manejo mejorado de sesiones: Permitió a los desarrolladores gestionar datos de usuario de manera más sencilla.
  2. Soporte mejorado para servidores web: Se amplió la compatibilidad con Apache, IIS y otros servidores.
  3. Seguridad básica: Introducción de funciones básicas para proteger contra vulnerabilidades comunes.

PHP 5: La llegada de la Programación Orientada a Objetos (2004)

PHP 5 fue un hito importante en la evolución del lenguaje. Esta versión trajo consigo una verdadera implementación de la Programación Orientada a Objetos (POO), lo que hizo a PHP más competitivo frente a lenguajes como Java y C#.

Nuevas características en PHP 5:

  1. POO avanzada: Clases, objetos, herencia, interfaces, clases abstractas y más.
  2. PDO (PHP Data Objects): Una nueva forma de interactuar con bases de datos de manera más segura y eficiente.
  3. Mejoras en XML: Soporte mejorado para manipulación y lectura de datos XML.
  4. Zend Engine 2.0: Motor mejorado para un rendimiento superior y mayor estabilidad.

PHP 7: Velocidad y modernidad (2015)

Después de un largo período de estancamiento tras PHP 5, la versión 6 fue cancelada debido a problemas técnicos. Sin embargo, en 2015, PHP 7 revolucionó el lenguaje con importantes mejoras en rendimiento y funcionalidad.

Características clave de PHP 7:

  1. Incremento en velocidad: PHP 7 es hasta dos veces más rápido que PHP 5.
  2. Menor uso de memoria: Las aplicaciones ahora pueden manejar más tráfico con menos recursos.
  3. Tipado escalar: Se introdujo el soporte para tipos de datos en argumentos y valores de retorno.
  4. Operador null coalesce (??): Simplificación en la comprobación de valores nulos.

PHP 8: Hacia el futuro (2020)

PHP 8 marcó otro gran avance, introduciendo características modernas y mejorando aún más el rendimiento gracias al JIT Compiler (Just-In-Time Compiler).

Nuevas características en PHP 8:

  1. JIT Compiler: Mejora significativa en la ejecución de scripts al compilar partes del código en tiempo de ejecución.
  2. Atributos: Alternativa a los comentarios docblock para meta-información estructurada.
  3. Expresiones match: Una versión mejorada de switch con menos código.
  4. Tipos union: Soporte para declarar múltiples tipos en argumentos y valores de retorno.

Impacto de PHP en la industria

PHP ha sido el motor detrás de muchas de las plataformas más importantes del mundo, como:

  • WordPress: Un CMS que alimenta más del 40% de los sitios web en Internet.
  • Wikipedia: Una de las mayores bases de conocimiento global.
  • Facebook (en sus inicios): Aunque ahora usa otros lenguajes, PHP fue crucial en los primeros días de la plataforma.

Resumen de la evolución de PHP

  1. 1994-1997 (PHP/FI): Herramienta básica para páginas personales.
  2. 1998 (PHP 3): Transformación en un lenguaje flexible y modular.
  3. 2000 (PHP 4): Rendimiento mejorado y adopción masiva.
  4. 2004 (PHP 5): Introducción de POO y soporte moderno para bases de datos.
  5. 2015 (PHP 7): Enfoque en velocidad y eficiencia.
  6. 2020 (PHP 8): Innovación con JIT Compiler y características avanzadas.

Así pues, hemos visto que con la evolución que ha tenido PHP ha llegado a convertirse en uno de los lenguaje mas influyentes en el desarrollo web.

1.3 Instalación y configuración de un entorno de desarrollo local

Para trabajar con PHP necesitamos un entorno que permita ejecutar nuestros scripts de forma local antes de implementarlos en un servidor. Esto es esencial para desarrollar, probar y depurar aplicaciones. En este apartado aprenderemos a instalar y configurar un entorno de desarrollo local utilizando herramientas como XAMPP, MAMP, o LAMP, y exploraremos configuraciones básicas para empezar a trabajar con PHP.

¿Qué es un entorno de desarrollo local?

Un entorno de desarrollo local es una simulación de un servidor web que corre en tu computadora. Este entorno incluye:

  1. Un servidor web (generalmente Apache o Nginx) que interpreta las solicitudes HTTP y ejecuta scripts PHP.
  2. PHP: El motor que procesa el código PHP y genera contenido dinámico.
  3. Una base de datos (como MySQL o MariaDB) para almacenar datos.
  4. Herramientas adicionales: Gestores de bases de datos como phpMyAdmin y utilidades de depuración.

Esto permite trabajar de manera aislada, sin necesidad de conexión a Internet ni un servidor en la nube.

Opciones populares para crear un entorno de desarrollo local

  1. XAMPP: Multiplataforma (Windows, macOS y Linux).
  2. MAMP: Diseñado para macOS, también disponible en Windows.
  3. LAMP: Exclusivo para sistemas Linux.
  4. Docker: Una opción moderna basada en contenedores y que facilita la instalación.

A continuación, explicaremos cómo instalar y configurar cada opción, centrándonos principalmente en XAMPP, ya que es la más universal.

Configuración con XAMPP

Paso 1: Descargar XAMPP

  1. Visita https://www.apachefriends.org/.
  2. Descarga la versión correspondiente a tu sistema operativo (Windows, macOS o Linux).
    • El instalador incluye Apache, MySQL, PHP y phpMyAdmin.

Paso 2: Instalar XAMPP

  1. Abre el archivo descargado y sigue las instrucciones del asistente.
  2. Selecciona los componentes que deseas instalar. Para PHP, asegúrate de que Apache, PHP, y MySQL estén marcados.

Paso 3: Iniciar XAMPP

Abre el Panel de Control de XAMPP.

Inicia los servicios necesarios:

  • Apache: Servidor web que ejecuta PHP.
  • MySQL: Base de datos.

Verifica que todo funciona correctamente escribiendo http://localhost en tu navegador. Deberías ver la página de inicio de XAMPP..

Paso 4: Crear tu primer proyecto en PHP

  1. Dirígete a la carpeta donde se encuentra XAMPP (por ejemplo, /opt/lampp/htdocs/).
  2. Crea una nueva carpeta llamada mi_proyecto.
  3. Dentro de esa carpeta, crea un archivo llamado index.php con el siguiente contenido:
<?php
echo "¡Hola, mundo desde PHP!";
?>

Abre tu navegador y escribe: http://localhost/mi_proyecto.

Deberías ver: ¡Hola, mundo desde PHP!

Errores comunes en XAMPP y cómo solucionarlos

  1. Apache no inicia:
    • Esto ocurre cuando otro programa (como Skype) está usando el puerto 80. Cambia el puerto de Apache en el archivo httpd.conf.
  2. phpMyAdmin no carga:
    • Asegúrate de que el servicio MySQL esté activo en el Panel de Control.

Configuración con MAMP (macOS y Windows)

  1. Descargar MAMP:
  2. Instalación:
    • Sigue las instrucciones del asistente. Durante la instalación, selecciona los componentes necesarios: Apache, PHP, y MySQL.
  3. Iniciar MAMP:
    • Inicia el servidor desde la aplicación MAMP. La dirección predeterminada será http://localhost:8888.
  4. Crear un proyecto:
    • En la carpeta raíz de MAMP (normalmente Applications/MAMP/htdocs), crea un archivo index.php.
    • Accede al archivo escribiendo http://localhost:8888/index.php en tu navegador.

Configuración con LAMP (Linux)

Instalar componentes manualmente:

Abre la terminal y ejecuta el siguiente comando para instalar Apache, MySQL y PHP:

sudo apt update sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql

Probar Apache:

Escribe http://localhost en tu navegador. Deberías ver la página de bienvenida de Apache.

Crear un archivo PHP:

Crea un archivo llamado info.php en /var/www/html con el siguiente contenido:

<?php phpinfo(); ?>

Accede al archivo escribiendo http://localhost/info.php en tu navegador.

Asegurar MySQL:

Ejecuta el comando sudo mysql_secure_installation y sigue las instrucciones para establecer una contraseña segura para MySQL.

Configuración con Docker

¿Por qué usar Docker?
Docker permite crear entornos portátiles y replicables. Ideal para desarrolladores que trabajan en equipos o en múltiples proyectos.

Instalar Docker:

Ve a https://www.docker.com/ y sigue las instrucciones de instalación para tu sistema operativo.

Configurar un contenedor PHP:

Crea un archivo docker-compose.yml con el siguiente contenido:yaml

version: '3.1'    services: web:    image: php:8.0-apache       ports:       - "8080:80"       volumes: 
      - ./mi_proyecto:/var/www/html

Ejecuta docker-compose up en la terminal.

>docker-compose up

Accede a http://localhost:8080 para ver tu aplicación PHP en ejecución.


Conclusión del apartado

Configurar un entorno de desarrollo local es el primer paso que debemos realizar para comenzar a trabajar con PHP. Herramientas como XAMPP, MAMP, LAMP o Docker nos permiten simular un servidor en nuestra máquina, proporcionando un entorno seguro y controlado para desarrollar nuestras aplicaciones.

Una vez que tenemos preparado nuestro entorno de trabajo pasaremos a a explorar la sintaxis básica de PHP y a escribir nuestros primeros scripts. ¡Manos a la obra!

Bibliografía de programación en PHP.

LogoPHP. Introducción a PHP

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *