Mbinu __unset
Mbinu __unset ni moja kati ya mbinu za kichawi katika PHP. Huitwa moja kwa moja, wakati wanapojaribu kufuta sifa isiyopo au isiyopatikana ya kitu kwa kutumia kitendo unset. Mbinu hupokea parameta moja - jina la sifa ambayo inajaribu kufutwa.
Syntaxi
public function __unset(string $name): void
Mfano
Tutundie darasa lenye mbinu ya kichawi __unset na tujaribu kufuta sifa isiyopo:
<?php
class MyClass {
private $data = ['a' => 1, 'b' => 2];
public function __unset($name) {
echo "Inajaribu kufuta '$name'\n";
unset($this->data[$name]);
}
}
$obj = new MyClass();
unset($obj->a);
unset($obj->c);
?>
Matokeo ya utekelezaji wa kodi:
Inajaribu kufuta 'a'
Inajaribu kufuta 'c'
Mfano
Matumizi ya __unset kudhibiti upatikanaji wa sifa za kibinafsi:
<?php
class User {
private $email = 'user@example.com';
public function __unset($name) {
if ($name === 'email') {
throw new Exception("Haiwezekani kufuta sifa ya kibinafsi 'email'");
}
}
}
$user = new User();
unset($user->email);
?>
Matokeo ya utekelezaji wa kodi:
Exception: Haiwezekani kufuta sifa ya kibinafsi 'email'