¿Por qué aprender PHP hoy en día?
Tabla de contenidos
🔹 PHP no ha muerto
Aunque a menudo se oye que «PHP está obsoleto», la realidad es otra. PHP sigue alimentando más del 70% de todas las webs del mundo, incluyendo gigantes como Facebook (inicialmente), WordPress, Wikipedia y Shopify. Es decir, millones de desarrolladores lo usan activamente.
🔹 PHP se ha modernizado
Con la llegada de versiones recientes como PHP 8.1 y 8.2, el lenguaje ha mejorado en rendimiento, sintaxis moderna, tipado, y soporte para programación orientada a objetos, lo que lo convierte en una opción competitiva frente a otros lenguajes.
🔹 Ideal para proyectos pequeños y medianos
PHP es ligero, fácil de aprender y rápido de desplegar. Con herramientas como Laravel, Symfony o incluso PHP puro con Nginx, puedes montar aplicaciones web funcionales en muy poco tiempo.
🚀 Tutorial paso a paso: Cómo montar PHP con Nginx y MongoDB en Docker
1. 🧰 Prepara tu estructura de carpetas
Crea una carpeta con esta estructura:
tu-proyecto/
├── docker-compose.yml
├── nginx/
│ └── default.conf
├── php/
│ ├── Dockerfile
│ └── index.php
└── mongo-data/
2. ⚙️ docker-compose.yml
version: '3.8'
services:
php:
build: ./php
volumes:
- ./php:/var/www/html
depends_on:
- mongo
nginx:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./php:/var/www/html
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- php
mongo:
image: mongo:latest
volumes:
- ./mongo-data:/data/db
ports:
- "27017:27017"
3. 🌐 nginx/default.conf
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
}
}
4. 🐘 php/Dockerfile
FROM php:8.2-fpm
RUN apt-get update && apt-get install -y \
libssl-dev \
pkg-config \
&& pecl install mongodb \
&& docker-php-ext-enable mongodb \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
5. 📄 php/index.php
<?php
echo "<h1>¡Hola desde PHP en Docker con Nginx!</h1>";
// Conexión a MongoDB
try {
$mongo = new MongoDB\Driver\Manager("mongodb://mongo:27017");
echo "<p>Conexión a MongoDB establecida correctamente.</p>";
} catch (Exception $e) {
echo "<p>Error al conectar a MongoDB: " . $e->getMessage() . "</p>";
}
?>
6. 🧪 Ejecuta el proyecto
En tu terminal, desde la carpeta principal, ejecuta:
docker-compose up --build
Abre tu navegador y ve a:
http://localhost:8080
Deberías ver el mensaje de bienvenida y la confirmación de que la conexión a MongoDB se ha establecido correctamente.
✅ Conclusión
PHP sigue siendo una herramienta poderosa, útil y eficiente para desarrollo web. Si ya sabes algo de HTML y CSS, aprender PHP te permite:
- Crear aplicaciones dinámicas sin depender de JS en backend.
- Usar bases de datos como MongoDB o MySQL.
- Desplegar en cualquier hosting barato.
- Aprender frameworks como Laravel que dominan el mercado.
Y lo mejor de todo: funciona perfecto con Docker, por lo que puedes crear entornos profesionales desde cero.