__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 ක්‍රමය,
    ප්‍රවේශයට නොහැකි ගුණාංගයක පැවැත්ම පරීක්ෂා කිරීමේදී කැඳවනු ලැබේ