Etiqueta: php
Explora todos los artículos relacionados con este tema
Git Hooks que todo equipo PHP debería tener en cuenta
Nueve git hooks listos para copiar y pegar que detectan los errores tontos (debug olvidado, secretos, composer desincronizado, ramas mal nombradas...) antes de que lleguen a la review.
Cómo una foto de perfil se convierte en una shell remota
Cómo un upload de archivos en PHP que valida extensión y tipo MIME puede convertirse en ejecución remota de código (RCE). Laboratorio reproducible con Docker, el ataque paso a paso y las capas de defensa que lo paran de verdad.
isset() vs. empty() en PHP: el gran dilema de las variables vacías
Diferencias entre isset() y empty() en PHP 8: tabla de verdad verificada, el problema del 0 y "0", isset vs array_key_exists en APIs PATCH, el matiz del operador ?? y validación moderna explícita.
FrankenPHP: el servidor de PHP que quiere jubilar a Nginx + PHP-FPM
FrankenPHP es un servidor de aplicaciones PHP escrito en Go que reemplaza a Nginx + PHP-FPM. Te cuento qué es, cómo funciona su worker mode, cuándo merece la pena y cuándo no.
Mago: linter, formatter y analyzer de PHP en un solo bicho escrito en Rust
Mago es un toolchain de PHP escrito en Rust que combina linter, formatter y analizador estático en un solo binario. Te cuento qué hace, cómo va de rápido y si deberías plantearte cambiar PHPStan.
Creando un simple entorno con Docker
Monta un entorno de desarrollo con Docker y Docker Compose usando PHP 8.4, Nginx, MariaDB y Composer. Sin líos de versiones ni dependencias raras en local.
Trabajando con paquetes Composer en local
Aprende a usar la opción path de Composer para trabajar con paquetes locales y ver los cambios en tiempo real mediante enlaces simbólicos.
El Patrón Decorator: Añade funcionalidades sin tocar una sola línea del original
En este post te explico el Patrón de Diseño Decorator, un patrón estructural del Gang of Four que permite añadir dinámicamente nuevas responsabilidades a un objeto sin modificarlo. Con ejemplos en PHP (café, procesamiento de datos, middleware HTTP), ventajas, desventajas, relación con SOLID y casos de uso reales.