__isset মেথড

__isset মেথডটি PHP-তে একটি ম্যাজিক মেথড এবং এটি কল হয় যখন isset বা empty ফাংশন ব্যবহার করে একটি অবজেক্টের প্রপার্টির অস্তিত্ব পরীক্ষা করার চেষ্টা করা হয়, এবং সেই প্রপার্টিটি অনুপলব্ধ বা অস্তিত্বহীন থাকে। মেথডটি একটি প্যারামিটার নেয় - পরীক্ষা করা প্রপার্টির নাম।

সিনট্যাক্স

phppublic function __isset(string $name): bool

উদাহরণ

একটি ক্লাস তৈরি করা যাক যাতে ম্যাজিক মেথড __isset রয়েছে:

php<?php
class User {
  private $data = [
    'name' => 'John',
    'age' => 30
  ];
  
  public function __isset($name) {
    return isset($this->data[$name]);
  }
}

$user = new User();
var_dump(isset($user->name));
var_dump(isset($user->email));
?>

কোড 실행ের ফলাফল:

phptrue
false

উদাহরণ

ডায়নামিক প্রপার্টির সাথে ব্যবহার:

php<?php
class DynamicProperties {
  private $storage = [];
  
  public function __isset($name) {
    return array_key_exists($name, $this->storage);
  }
  
  public function __set($name, $value) {
    $this->storage[$name] = $value;
  }
}

$obj = new DynamicProperties();
$obj->test = 'value';
var_dump(isset($obj->test));
var_dump(isset($obj->unknown));
?>

কোড 실행ের ফলাফল:

phptrue
false

আরও দেখুন

  • __get মেথড,
    যা অনুপলব্ধ প্রপার্টি পড়ার সময় কল হয়
  • __set মেথড,
    যা অনুপলব্ধ প্রপার্টিতে লিখার সময় কল হয়
  • __unset মেথড,
    যা অনুপলব্ধ প্রপার্টি মুছার সময় কল হয়