__isset ක්රමය
__isset ක්රමය PHP හි මායා ක්රමයක් වන අතර isset() හෝ empty() ශ්රිත භාවිතා කර වස්තුවක දේපලක් පවතිනවාදැයි පරීක්ෂා කිරීමට උත්සාහ කිරීමේදී, එම දේපල අප්රවේශ්ය හෝ නොපවතින විට ක්රියාත්මක වේ. ක්රමය පරාමිතියක් - පරීක්ෂා කරන දේපලේ නම - පිළිගනී.
වාක්ය ඛණ්ඩය
public function __isset(string $name): bool
නිදර්ශනය
__isset මායා ක්රමය සහිත පන්තියක් නිර්මාණය කරමු:
<?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));
?>
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
true
false
නිදර්ශනය
ගතික දේපල සමඟ භාවිතය:
<?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));
?>
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
true
false