Magiczne metody (__get, __set, __isset, __unset)

Założenie: Stworzymy klasę z magicznymi metodami, aby dynamicznie zarządzać dostępem do jej właściwości.

Krok po kroku:

  1. Definicja klasy z magicznymi metodami:
    
    data[$name] ?? null;
      }
    
      public function __set($name, $value) {
        $this->data[$name] = $value;
      }
    
      public function __isset($name) {
        return isset($this->data[$name]);
      }
    
      public function __unset($name) {
        unset($this->data[$name]);
      }
    }
    ?>
    				

    Tworzymy klasę `User` z prywatną tablicą `$data` do przechowywania danych. Metody `__get`, `__set`, `__isset` i `__unset` obsługują dostęp do właściwości w sposób dynamiczny.

  2. Użycie klasy:
    
    name = "Jan Kowalski";
    $user->age = 30;
    
    echo "Imię: " . $user->name . "
    "; // Wyświetli: Imię: Jan Kowalski echo "Wiek: " . $user->age . "
    "; // Wyświetli: Wiek: 30 if (isset($user->city)) { echo "Miasto: " . $user->city . "
    "; } else { echo "Miasto nie jest zdefiniowane.
    "; // Wyświetli to } unset($user->age); if (isset($user->age)) { echo "Wiek: " . $user->age . "
    "; } else { echo "Wiek został usunięty.
    "; // Wyświetli to } ?>

    Tutaj tworzymy obiekt klasy `User`, ustawiamy wartości właściwości `name` i `age`, a następnie je wyświetlamy. Demonstrujemy również użycie `isset` i `unset`.

Ten przykład pokazuje, jak magiczne metody pozwalają na elastyczne zarządzanie danymi w klasie.

Zachęcamy do dalszego zgłębiania tematu programowania obiektowego w PHP!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *