Junior — Middle
Czy masz doświadczenie w korzystaniu ze specjalnych metod zaczynających się od podwójnego podkreślenia w PHP?
sobes.tech AI
Odpowiedź od AI
W PHP, specjalne metody zaczynające się od podwójnego podkreślenia (__) nazywane są metodami magicznymi. Pozwalają one na nadpisanie zachowania obiektów w określonych sytuacjach. Na przykład:
__construct()— konstruktor klasy__destruct()— destruktor__get($name)— wywoływane przy dostępie do nieistniejącej lub niedostępnej właściwości__set($name, $value)— wywoływane przy przypisywaniu do nieistniejącej lub niedostępnej właściwości__call($name, $arguments)— wywoływane przy wywołaniu nieistniejącej metody__toString()— określa zachowanie obiektu przy konwersji do łańcucha znaków
Przykład użycia __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; // Wyświetli 'Иван'
Metody magiczne pozwalają na elastyczne zarządzanie zachowaniem obiektów i są często wykorzystywane do implementacji wzorców projektowych lub upraszczania interfejsu klas.