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.