Junior — Middle
¿Cuál es la finalidad del método mágico __get en Python?
sobes.tech AI
Respuesta de la IA
En Python, el método mágico __getattr__ se utiliza para interceptar llamadas a atributos que no existen, y el método __get__ es parte del protocolo de descriptores, que gestiona el acceso a los atributos. Sin embargo, en la pregunta se menciona __get, lo cual es característico de PHP, no de Python.
Si hablamos de PHP, el método mágico __get se llama cuando se intenta acceder a una propiedad del objeto que no existe o que no es accesible (por ejemplo, privada). Esto permite manejar dinámicamente esas llamadas, por ejemplo, devolviendo valores calculados o datos de otra fuente.
Ejemplo en PHP:
class User {
private $data = ['name' => 'Ivan', 'age' => 30];
public function __get($property) {
if (array_key_exists($property, $this->data)) {
return $this->data[$property];
}
return null;
}
}
$user = new User();
echo $user->name; // Imprime "Ivan"
De esta forma, __get permite implementar carga perezosa de propiedades o controlar el acceso a los datos.