Volver al blog PHP

¿Qué pasa cuando pasamos de propiedades dinámicas a propiedades declaradas en PHP?

Una práctica que tarde o temprano implementamos al trabajar con PHP.

13 noviembre 2024
laravel

🔍 ¿Cuál es el problema de declarar propiedades explícitamente en PHP si antes eran dinámicas?

Cuando decidimos empezar a declarar explícitamente las propiedades de una clase (incluso si son públicas), le damos más estructura y claridad a nuestro código. Esto nos permite saber de antemano qué propiedades tiene un objeto, cómo deberían usarse, y nos evita errores comunes de referencias a propiedades que aún no existen. Sin embargo, hay un punto crítico: la inicialización del valor de las propiedades.

🚨 Declaración de tipos sin valores predeterminados: el riesgo de null

Si declaramos una propiedad como `int` sin asignarle un valor por defecto, PHP la inicializa con `null` al crear el objeto. Esto puede ser problemático porque `null` no es compatible con el tipo `int`, lo que genera errores si intentamos realizar operaciones aritméticas o comparaciones.

Por ejemplo:

class Usuario {
    public int $edad;
}

$usuario = new Usuario(); echo $usuario->edad * 2; // Esto lanza un error de tipo

💡 Soluciones para evitar problemas de inicialización:

1. Asignar un valor por defecto: Inicializar propiedades como int $edad = 0 asegura que el valor sea del tipo correcto desde el inicio.
2. Inicializar en el constructor: Al pasar int $edad como parámetro del constructor, evitamos valores null y aseguramos la consistencia del tipo desde el primer momento.

⚙️ Conclusión: Declarar propiedades explícitamente con sus tipos no solo ayuda a tener código más limpio y mantenible, sino que también minimiza errores de tipo. Aprovechar estas prácticas nos acerca a un PHP más seguro y robusto. 🚀 

#php #programación #tipsPHP #cleanCode