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)
时,即使返回正确的值,它也返回 false var_dump($renderer->param)
。
是 php 在存储在数组中时检查类内的参数还是我错过了什么?
你可以(应该?(实现一个__isset()
方法。关于empty()
的手册说:
在无法访问的对象属性上使用 empty(( 时,如果声明了 __isset(( 重载方法。