问题
Is it possible to check if a property exists which are set using magic setter?
class Test
{
private $vars;
public function __set($key, $value) {
$this->vars[$key] = $value;
}
public function &__get($key)
{
return $this->vars[$key];
}
}
$test = new Test;
$test->myvar = 'yay!';
if (magic_isset($test->myvar)) {
}
Or isn't it possible and I just need to setup another function in my class?
回答1:
Use __isset() and isset():
public function __isset($key)
{
return isset($this->vars[$key]);
}
$test = new Test;
$test->myvar = 'yay!';
if (isset($test->myvar)) {
}
来源:https://stackoverflow.com/questions/8763357/check-if-property-exists