__unset মেথড
মেথড __unset PHP-তে ম্যাজিক মেথডগুলির মধ্যে একটি। যখন unset ফাংশন ব্যবহার করে একটি অবজেক্টের অস্তিত্বহীন বা অপ্রাপ্য প্রপার্টি মুছে ফেলার চেষ্টা করা হয়, তখন এটি স্বয়ংক্রিয়ভাবে কল হয়। মেথডটি একটি প্যারামিটার নেয় - যে প্রপার্টির নাম মুছে ফেলার চেষ্টা করা হচ্ছে।
সিনট্যাক্স
public function __unset(string $name): void
উদাহরণ
আসুন একটি ক্লাস তৈরি করি ম্যাজিক মেথড __unset সহ এবং একটি অস্তিত্বহীন প্রপার্টি মুছে ফেলার চেষ্টা করি:
<?php
class MyClass {
private $data = ['a' => 1, 'b' => 2];
public function __unset($name) {
echo "Attempting to unset '$name'\n";
unset($this->data[$name]);
}
}
$obj = new MyClass();
unset($obj->a);
unset($obj->c);
?>
কোড 실행ের ফলাফল:
Attempting to unset 'a'
Attempting to unset 'c'
উদাহরণ
প্রাইভেট প্রপার্টিতে অ্যাক্সেস নিয়ন্ত্রণ করার জন্য __unset ব্যবহার:
<?php
class User {
private $email = 'user@example.com';
public function __unset($name) {
if ($name === 'email') {
throw new Exception("Cannot unset private property 'email'");
}
}
}
$user = new User();
unset($user->email);
?>
কোড 실행ের ফলাফল:
Exception: Cannot unset private property 'email'