351 of 410 menu

__unset Metodu

__unset metodu, PHP'deki büyülü metotlardan biridir. unset işlevi kullanılarak bir nesnenin mevcut olmayan veya erişilemez bir özelliğini silmeye çalışıldığında otomatik olarak çağrılır. Metot, silinmeye çalışılan özelliğin adı olan bir parametre alır.

Sözdizimi

public function __unset(string $name): void

Örnek

__unset büyülü metoduna sahip bir sınıf oluşturalım ve mevcut olmayan bir özelliği silmeyi deneyelim:

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

Kodun çalıştırılmasının sonucu:

'a' silinmeye çalışılıyor 'c' silinmeye çalışılıyor

Örnek

Özel niteliklere erişimi kontrol etmek için __unset kullanımı:

<?php class User { private $email = 'user@example.com'; public function __unset($name) { if ($name === 'email') { throw new Exception("'email' özel özelliği silinemez"); } } } $user = new User(); unset($user->email); ?>

Kodun çalıştırılmasının sonucu:

Exception: 'email' özel özelliği silinemez

Ayrıca Bakınız

  • erişilemeyen bir özelliğe yazma işlemi yapıldığında çağrılan
    __set metodu
  • erişilemeyen bir özellik okunduğunda çağrılan
    __get metodu
  • erişilemeyen bir özelliğin varlığını kontrol etme sırasında çağrılan
    __isset metodu
plfruzcitsw