351 of 410 menu

Метод __unset

Методът __unset е един от магическите методи в PHP. Той се извиква автоматично, когато се опитват да изтрият несъществуващо или недостъпно свойство на обект с помощта на функцията unset. Методът приема един параметър - името на свойството, което се опитват да изтрият.

Синтаксис

public function __unset(string $name): void

Пример

Нека създадем клас с магически метод __unset и опитаме да изтрием несъществуващо свойство:

<?php class MyClass { private $data = ['a' => 1, 'b' => 2]; public function __unset($name) { echo "Опит за изтриване на '$name'\n"; unset($this->data[$name]); } } $obj = new MyClass(); unset($obj->a); unset($obj->c); ?>

Резултат от изпълнението на кода:

Опит за изтриване на 'a' Опит за изтриване на 'c'

Пример

Използване на __unset за контрол на достъпа до частни свойства:

<?php class User { private $email = 'user@example.com'; public function __unset($name) { if ($name === 'email') { throw new Exception("Не може да се изтрие частно свойство 'email'"); } } } $user = new User(); unset($user->email); ?>

Резултат от изпълнението на кода:

Exception: Не може да се изтрие частно свойство 'email'

Вижте също

  • метод __set,
    който се извиква при запис в недостъпно свойство
  • метод __get,
    който се извиква при четене на недостъпно свойство
  • метод __isset,
    който се извиква при проверка за съществуване на недостъпно свойство
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне