Artículos
-
PHP
Clases anónimas en PHP 7+: new class{} y sus casos de uso prácticos
Las clases anónimas de PHP 7 permiten crear y usar una clase en el mismo punto del código, sin nombre ni fichero aparte. Útiles para implementar interfaces puntualmente, crear test doubles rápidos y definir callbacks con estado. Cuatro ejemplos reales y el error típico con closures.
-
PHP
First-class callables en PHP 8.1: sintaxis ..., Closure::fromCallable y callbacks modernos
PHP 8.1 introduce la sintaxis strlen(...) para obtener una Closure de cualquier función o método sin strings ni arrays. Más segura ante renombrado, compatible con análisis estático y más limpia que Closure::fromCallable(). Con ejemplos reales de array_map, usort y composición de funciones.
-
PHP
WeakMap y WeakReference en PHP 8: referencias débiles y evitar memory leaks
WeakReference y WeakMap permiten apuntar a objetos en PHP sin impedir que el recolector de basura los elimine. Aprende a usarlas para cachés, listeners y estructuras de seguimiento sin provocar memory leaks en aplicaciones de larga duración.
-
PHP
Atributos en PHP 8: #[Attribute], crear tus propios atributos y leerlos con Reflection
Aprende a usar los atributos de PHP 8: sintaxis #[NombreAtributo], cómo definir los tuyos marcando una clase con #[Attribute], restringir targets con IS_REPEATABLE, y leerlos en runtime con la Reflection API mediante getAttributes() y newInstance(). Con ejemplos reales de rutas y validaciones.
-
PHP
Reflection API en PHP: ReflectionClass, ReflectionMethod y usos prácticos
Aprende a usar la Reflection API de PHP para inspeccionar y manipular clases en tiempo de ejecución. ReflectionClass, ReflectionMethod y ReflectionProperty con ejemplos reales: contenedores DI, tests con propiedades privadas y serializers automáticos.
-
PHP
MySQLi en PHP: la alternativa a PDO con consultas preparadas y modo orientado a objetos
MySQLi es la extensión nativa de PHP para MySQL y MariaDB. Aprende a conectar con new mysqli(), usar consultas preparadas con bind_param(), gestionar transacciones y elegir entre get_result() y bind_result() con ejemplos reales de código.
-
PHP
Variables de entorno en PHP: getenv(), $_ENV, .env y vlucas/phpdotenv
Aprende a gestionar las variables de entorno en PHP con getenv(), $_ENV y vlucas/phpdotenv. Saca las credenciales del código fuente, usa ficheros .env por entorno y valida que las variables obligatorias existen antes de que la aplicación arranque.
-
PHP
CORS en PHP: cabeceras Access-Control-*, peticiones preflight y configuración segura
Aprende a configurar las cabeceras CORS en PHP para APIs públicas y privadas. Incluye gestión del preflight OPTIONS, whitelist de orígenes, Access-Control-Allow-Credentials y un middleware reutilizable con cuatro ejemplos progresivos.
-
PHP
JWT en PHP: autenticación sin sesiones con tokens y firebase/php-jwt
Aprende a usar JWT en PHP con firebase/php-jwt para autenticar APIs sin sesiones. Genera y verifica tokens con HS256, lee el header Authorization, implementa refresh tokens y guarda la clave secreta en variables de entorno.
-
PHP
Rate limiting en PHP: algoritmos y contadores atómicos con APCu
Implementa rate limiting en PHP con tres algoritmos: Fixed Window Counter con APCu usando apcu_add y apcu_inc para contadores atómicos, Sliding Window Log y Token Bucket con Redis. Respuesta HTTP 429 con Retry-After, patrón middleware y cómo evitar race conditions con fetch+store.









