Testowanie klas z metodami magicznymi
Założenie: Napiszemy klasę z metodami magicznymi __get() i __set() i przetestujemy dynamiczny dostęp do jej właściwości.
Krok po kroku:
- Krok 1: Definicja klasy z metodami magicznymi.
data[$name] ?? null; } public function __set($name, $value) { $this->data[$name] = $value; } } ?>
Tworzymy klasę `User` z prywatną tablicą `$data` do przechowywania danych. Metoda `__get()` zwraca wartość właściwości, a `__set()` ustawia nową wartość. Operator `??` zapewnia zwrot `null` jeśli właściwość nie istnieje.
- Krok 2: Utworzenie obiektu klasy `User`.
Tworzymy nowy obiekt klasy `User`.
- Krok 3: Ustawienie i pobranie wartości właściwości za pomocą metod magicznych.
name = "Jan Kowalski"; echo $user->name; // Wyświetli: Jan Kowalski ?>
Ustawiamy wartość właściwości `name` za pomocą `$user->name = “Jan Kowalski”;` i pobieramy ją za pomocą `$user->name`. Metody `__get()` i `__set()` są wywoływane automatycznie.
- Krok 4: Testowanie brakującej właściwości.
age; // Wyświetli: (nic, bo zwróci null) ?>
Próbujemy uzyskać dostęp do nieistniejącej właściwości `age`. Metoda `__get()` zwróci `null`.
Ten przykład pokazuje podstawowe zastosowanie metod magicznych __get() i __set() w PHP. Zachęcamy do dalszego zgłębiania tematu programowania obiektowego w PHP!