351 of 410 menu

Metoda __unset

Metoda __unset jest jedną z magicznych metod w PHP. Jest automatycznie wywoływana, gdy próbuje się usunąć nieistniejącą lub niedostępną właściwość obiektu za pomocą funkcji unset. Metoda przyjmuje jeden parametr - nazwę właściwości, którą próbuje się usunąć.

Składnia

public function __unset(string $name): void

Przykład

Stwórzmy klasę z magiczną metodą __unset i spróbujmy usunąć nieistniejącą właściwość:

<?php class MyClass { private $data = ['a' => 1, 'b' => 2]; public function __unset($name) { echo "Próba usunięcia '$name'\n"; unset($this->data[$name]); } } $obj = new MyClass(); unset($obj->a); unset($obj->c); ?>

Wynik wykonania kodu:

Próba usunięcia 'a' Próba usunięcia 'c'

Przykład

Użycie __unset do kontroli dostępu do właściwości prywatnych:

<?php class User { private $email = 'user@example.com'; public function __unset($name) { if ($name === 'email') { throw new Exception("Nie można usunąć właściwości prywatnej 'email'"); } } } $user = new User(); unset($user->email); ?>

Wynik wykonania kodu:

Exception: Nie można usunąć właściwości prywatnej 'email'

Zobacz też

  • metoda __set,
    która jest wywoływana przy zapisie do niedostępnej właściwości
  • metoda __get,
    która jest wywoływana przy odczycie niedostępnej właściwości
  • metoda __isset,
    która jest wywoływana przy sprawdzaniu istnienia niedostępnej właściwości
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć