__unset နည်းလမ်း

__unset နည်းလမ်းသည် PHP ရှိ မှော်ဆန်သော နည်းလမ်းများထဲမှ တစ်ခု ဖြစ်ပါသည်။ ၎င်းသည် unset function ကို အသုံးပြု၍ မရှိသော သို့မဟုတ် မရောက်ရှိနိုင်သော object ၏ ဂုဏ်သတ္တိတစ်ခုကို ဖျက်ရန် ကြိုးစားသောအခါ အလိုအလျောက် ခေါ်ဆိုပါသည်။ ဤနည်းလမ်းသည် parameter တစ်ခုကို လက်ခံပါသည် - ဖျက်ရန် ကြိုးစားနေသော ဂုဏ်သတ္တိ၏ အမည်။

ဖွဲ့စည်းပုံ

phppublic function __unset(string $name): void

ဥပမာ

မှော်ဆန်သော နည်းလမ်း __unset ပါရှိသော class တစ်ခုကို ဖန်တီးပြီး မရှိသော ဂုဏ်သတ္တိကို ဖျက်ရန် ကြိုးစားကြည့်ပါမည်။

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,
    အရောက်ရှိနိုင်ခြင်းမရှိသော ဂုဏ်သတ္တိတစ်ခု ရှိ/မရှိ စစ်ဆေးသောအခါ ခေါ်ဆိုပါသည်