Junior — Middle
Hai esperienza nell'uso di metodi speciali che iniziano con doppio underscore in PHP?
sobes.tech AI
Risposta dell'AI
In PHP, i metodi speciali che iniziano con doppio underscore (__) sono chiamati metodi magici. Permettono di ridefinire il comportamento degli oggetti in determinate situazioni. Ad esempio:
__construct()— costruttore della classe__destruct()— distruttore__get($name)— chiamato quando si accede a una proprietà inesistente o non accessibile__set($name, $value)— chiamato quando si assegna a una proprietà inesistente o non accessibile__call($name, $arguments)— chiamato quando si invoca un metodo inesistente__toString()— definisce il comportamento dell'oggetto quando viene convertito in stringa
Esempio di utilizzo di __get e __set:
class User {
private $data = [];
public function __get($name) {
return $this->data[$name] ?? null;
}
public function __set($name, $value) {
$this->data[$name] = $value;
}
}
$user = new User();
$user->name = 'Иван';
echo $user->name; // Mostra 'Иван'
I metodi magici consentono di gestire in modo flessibile il comportamento degli oggetti e sono spesso usati per implementare pattern di progettazione o semplificare l'interfaccia delle classi.