Artículos
-
PHP
strict_types en PHP: tipado estricto, type juggling y declare(strict_types=1)
PHP convierte tipos en silencio sin avisarte: "42" pasa a 42, "1.5" a 1, y nadie dice nada. Con declare(strict_types=1) eso cambia y cualquier discordancia lanza un TypeError en el acto. Cuatro ejemplos reales con antes y después.
-
PHP
serialize() y unserialize() en PHP: persistir objetos y los métodos mágicos __sleep y __wakeup
Aprende a usar serialize() y unserialize() en PHP para guardar el estado de objetos en sesión, caché o base de datos. Ejemplos con __sleep(), __wakeup(), __serialize() y __unserialize() de PHP 7.4, más cómo evitar la vulnerabilidad de PHP Object Injection.
-
PHP
Clonación de objetos en PHP: clone, __clone y la diferencia entre copia superficial y profunda
Aprende a clonar objetos en PHP con clone y __clone(). Entiende la diferencia entre copia superficial y profunda, evita el bug típico con propiedades anidadas y domina la comparación == vs === entre instancias.
-
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.









