351 of 410 menu

Metoden __unset

Metoden __unset er en af de magiske metoder i PHP. Den kaldes automatisk, når der forsøges at slette en ikke-eksisterende eller utilgængelig egenskab for et objekt ved hjælp af funktionen unset. Metoden tager en parameter - navnet på den egenskab, der forsøges at slette.

Syntaks

public function __unset(string $name): void

Eksempel

Lad os oprette en klasse med en magisk metode __unset og forsøge at slette en ikke-eksisterende egenskab:

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

Resultat af kodeudførelse:

Forsøger at fjerne 'a' Forsøger at fjerne 'c'

Eksempel

Brug af __unset til at kontrollere adgang til private egenskaber:

<?php class User { private $email = 'user@example.com'; public function __unset($name) { if ($name === 'email') { throw new Exception("Kan ikke fjerne privat egenskab 'email'"); } } } $user = new User(); unset($user->email); ?>

Resultat af kodeudførelse:

Exception: Kan ikke fjerne privat egenskab 'email'

Se også

  • metoden __set,
    som kaldes ved skrivning til en utilgængelig egenskab
  • metoden __get,
    som kaldes ved læsning af en utilgængelig egenskab
  • metoden __isset,
    som kaldes ved kontrol af eksistens af en utilgængelig egenskab
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis