Artículos

  • PHP 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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.