class Renderer
{
private $data;
public function __construct()
{
$this->data = array();
}
public function __get($key)
{
return array_key_exists($key, $this->data) ? $this->data[$key] : null;
}
public function __set($key, $value)
{
$this->data[$key] = $value;
}
}
当我检查empty($renderer->param)
时,即使var_dump($renderer->param)
返回正确的值,它也会返回false。
当它存储在数组中时,是否检查了类中的参数,或者我错过了什么?
答案 0 :(得分:3)
你可以(应该)实现__isset()
方法。 manual on empty()
says:
在无法访问的对象属性上使用empty()时,如果声明了__isset()重载方法,则会调用它。