351 of 410 menu

Metodas __unset

Metodas __unset yra vienas iš magiškų metodų PHP. Jis automatiškai iškviečiamas, kai bandoma pašalinti neegzistuojančią arba neprieinamą objekto savybę naudojant funkciją unset. Metodas priima vieną parametrą - savybės pavadinimą, kurį bando pašalinti.

Sintaksė

public function __unset(string $name): void

Pavyzdys

Sukurkime klasę su magišku metodu __unset ir pabandykime pašalinti neegzistuojančią savybę:

<?php class MyClass { private $data = ['a' => 1, 'b' => 2]; public function __unset($name) { echo "Bandoma pašalinti '$name'\n"; unset($this->data[$name]); } } $obj = new MyClass(); unset($obj->a); unset($obj->c); ?>

Kodo vykdymo rezultatas:

Bandoma pašalinti 'a' Bandoma pašalinti 'c'

Pavyzdys

__unset naudojimas prieigos prie privačių savybių kontrolė:

<?php class User { private $email = 'user@example.com'; public function __unset($name) { if ($name === 'email') { throw new Exception("Negalima pašalinti privacios savybės 'email'"); } } } $user = new User(); unset($user->email); ?>

Kodo vykdymo rezultatas:

Exception: Negalima pašalinti privacios savybės 'email'

Taip pat žiūrėkite

  • metodas __set,
    kuris iškviečiamas rašant į neprieinamą savybę
  • metodas __get,
    kuris iškviečiamas skaitant neprieinamą savybę
  • metodas __isset,
    kuris iškviečiamas tikrinant neprieinamos savybės egzistavimą
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti