__unset metodi
__unset metodi PHPdagi sehrli metodlardan biridir. U unset funksiyasi yordamida obektning mavjud bo'lmagan yoki noqulay xususiyatini o'chirishga urinilganda avtomatik ravishda chaqiriladi. Metod bitta parametrni qabul qiladi - o'chirilmoqchi bo'lgan xususiyatning nomi.
Sintaksis
public function __unset(string $name): void
Misol
__unset sehrli metodiga ega bo'lgan klass yaratamiz va mavjud bo'lmagan xususiyatni o'chirishga harakat qilamiz:
<?php
class MyClass {
private $data = ['a' => 1, 'b' => 2];
public function __unset($name) {
echo "'$name' ni o'chirishga urinilmoqda\n";
unset($this->data[$name]);
}
}
$obj = new MyClass();
unset($obj->a);
unset($obj->c);
?>
Kodni bajarish natijasi:
'a' ni o'chirishga urinilmoqda
'c' ni o'chirishga urinilmoqda
Misol
Shaxsiy xususiyatlarga kirishni nazorat qilish uchun __unset dan foydalanish:
<?php
class User {
private $email = 'user@example.com';
public function __unset($name) {
if ($name === 'email') {
throw new Exception("'email' shaxsiy xususiyatini o'chirib bo'lmaydi");
}
}
}
$user = new User();
unset($user->email);
?>
Kodni bajarish natijasi:
Exception: 'email' shaxsiy xususiyatini o'chirib bo'lmaydi