【发布时间】:2014-07-28 12:41:48
【问题描述】:
如何为未在类中设置的属性及其子键返回 null?
我可以使用__get 使属性返回null,但我不知道如何为其子键执行此操作。有什么想法吗?
class MyClass
{
public $foo;
public $bar;
public function __construct()
{
$this->bar = (object) ['tool' => 'Here we go'];
}
public function __get($name)
{
return (isset($this->$name)) ? $this->$name : null;
}
}
$class1 = new MyClass;
var_dump($class1->foo); // null
var_dump($class1->boo); // null
var_dump($class1->bar->tool); // 'Here we go'
var_dump($class1->bar->mars); // Notice: Undefined property: stdClass::$mars in...
$class1->bar->mars 可以得到null 吗?
【问题讨论】:
-
您可以通过
try and catchblock 来完成 -
@Vijayaragavendran 这里没有任何东西会引发异常,所以不会。