351 of 410 menu

Metodo __unset

Il metodo __unset è uno dei metodi magici in PHP. Viene chiamato automaticamente quando si tenta di eliminare una proprietà inesistente o inaccessibile di un oggetto utilizzando la funzione unset. Il metodo accetta un parametro: il nome della proprietà che si sta tentando di eliminare.

Sintassi

public function __unset(string $name): void

Esempio

Creiamo una classe con il metodo magico __unset e proviamo a eliminare una proprietà inesistente:

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

Risultato dell'esecuzione del codice:

Tentativo di unset 'a' Tentativo di unset 'c'

Esempio

Utilizzo di __unset per controllare l'accesso alle proprietà private:

<?php class User { private $email = 'user@example.com'; public function __unset($name) { if ($name === 'email') { throw new Exception("Impossibile eliminare la proprietà privata 'email'"); } } } $user = new User(); unset($user->email); ?>

Risultato dell'esecuzione del codice:

Exception: Impossibile eliminare la proprietà privata 'email'

Vedi anche

  • metodo __set,
    che viene chiamato quando si scrive in una proprietà inaccessibile
  • metodo __get,
    che viene chiamato quando si legge una proprietà inaccessibile
  • metodo __isset,
    che viene chiamato quando si verifica l'esistenza di una proprietà inaccessibile
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta