Sobes.tech
Junior — Middle

Qual è la funzione del metodo magico __get in Python?

sobes.tech AI

Risposta dell'AI

In Python, il metodo magico __getattr__ viene utilizzato per intercettare chiamate a attributi inesistenti, e il metodo __get__ fa parte del protocollo dei descrittori, che gestisce l'accesso agli attributi. Tuttavia, nella domanda si menziona __get, che è tipico di PHP, non di Python.

Se parliamo di PHP, il metodo magico __get viene chiamato quando si tenta di accedere a una proprietà dell'oggetto che non esiste o che non è accessibile (ad esempio, privata). Questo permette di gestire dinamicamente tali chiamate, ad esempio restituendo valori calcolati o dati da un'altra fonte.

Esempio in 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; // Stampa "Ivan"

In questo modo, __get permette di implementare il caricamento pigro delle proprietà o di controllare l'accesso ai dati.