351 of 410 menu

Método __unset

O método __unset é um dos métodos mágicos em PHP. Ele é chamado automaticamente quando se tenta excluir uma propriedade inexistente ou inacessível de um objeto usando a função unset. O método recebe um parâmetro - o nome da propriedade que está sendo tentada excluir.

Sintaxe

public function __unset(string $name): void

Exemplo

Vamos criar uma classe com o método mágico __unset e tentar excluir uma propriedade inexistente:

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

Resultado da execução do código:

Tentando excluir 'a' Tentando excluir 'c'

Exemplo

Usando __unset para controlar o acesso a propriedades privadas:

<?php class User { private $email = 'user@example.com'; public function __unset($name) { if ($name === 'email') { throw new Exception("Não é possível excluir a propriedade privada 'email'"); } } } $user = new User(); unset($user->email); ?>

Resultado da execução do código:

Exception: Não é possível excluir a propriedade privada 'email'

Veja também

  • método __set,
    que é chamado ao escrever em uma propriedade inacessível
  • método __get,
    que é chamado ao ler uma propriedade inacessível
  • método __isset,
    que é chamado ao verificar a existência de uma propriedade inacessível
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar