मेथड __unset

मेथड __unset PHP में जादुई मेथड्स में से एक है। यह स्वचालित रूप से कॉल किया जाता है जब unset फ़ंक्शन का उपयोग करके किसी ऑब्जेक्ट के गैर-मौजूद या दुर्गम गुण को हटाने का प्रयास किया जाता है। मेथड एक पैरामीटर लेता है - उस गुण का नाम जिसे हटाने का प्रयास किया जा रहा है।

सिंटैक्स

phppublic function __unset(string $name): void

उदाहरण

आइए एक क्लास बनाएं जिसमें जादुई मेथड __unset हो और गैर-मौजूद गुण को हटाने का प्रयास करें:

php<?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);
?>

कोड निष्पादन का परिणाम:

phpAttempting to unset 'a'
Attempting to unset 'c'

उदाहरण

निजी गुणों तक पहुंच नियंत्रित करने के लिए __unset का उपयोग:

php<?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);
?>

कोड निष्पादन का परिणाम:

phpException: Cannot unset private property 'email'

यह भी देखें

  • मेथड __set,
    जो दुर्गम गुण में लिखने पर कॉल किया जाता है
  • मेथड __get,
    जो दुर्गम गुण को पढ़ने पर कॉल किया जाता है
  • मेथड __isset,
    जो दुर्गम गुण के अस्तित्व की जांच पर कॉल किया जाता है