Sobes.tech
Junior — Middle

Qual é a finalidade do método mágico __get em Python?

sobes.tech IA

Resposta da IA

Em Python, o método mágico __getattr__ é usado para interceptar chamadas a atributos que não existem, e o método __get__ faz parte do protocolo de descritores, que gerencia o acesso aos atributos. No entanto, na questão é mencionado __get, o que é característico do PHP, não do Python.

Se falarmos de PHP, o método mágico __get é chamado quando se tenta acessar uma propriedade do objeto que não existe ou que não é acessível (por exemplo, privada). Isso permite manipular dinamicamente essas chamadas, por exemplo, retornando valores calculados ou dados de outra fonte.

Exemplo em 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; // Vai imprimir "Ivan"

Assim, __get permite implementar carregamento preguiçoso de propriedades ou controlar o acesso aos dados.