Junior — Middle
Aveți experiență în utilizarea metodelor speciale care încep cu dublu underscore în PHP?
sobes.tech AI
Răspuns de la AI
În PHP, metodele speciale care încep cu dublu underscore (__) sunt numite metode magice. Ele permit redefinirea comportamentului obiectelor în anumite situații. De exemplu:
__construct()— constructorul clasei__destruct()— destructorul__get($name)— este apelat atunci când se accesează o proprietate inexistentă sau inaccesibilă__set($name, $value)— este apelat atunci când se atribuie unei proprietăți inexistentă sau inaccesibilă__call($name, $arguments)— este apelat atunci când se invocă o metodă inexistentă__toString()— definește comportamentul obiectului la conversia în șir de caractere
Exemplu de utilizare a __get și __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; // Va afișa 'Иван'
Metodele magice permit gestionarea flexibilă a comportamentului obiectelor și sunt adesea utilizate pentru implementarea modelelor de proiectare sau pentru simplificarea interfeței claselor.