请告诉我以下内容。我通过 __get 魔术方法读到,我可以访问一个不存在的类字段。如果这个字段是一个二维数组呢?我可以使用这样的东西吗?
$object->xyzw->prop2;
如果可以的话,在这种情况下需要在 __get 方法中进行哪些更改才能完成成熟的工作?
class Object {
private $property;
public function __contructor() {
// for example
$this->property['xyzw']['prop1'] = 2;
$this->property['xyzw']['prop2'] = 3;
$this->property['abcd']['prop3'] = 4;
$this->property['abcd']['prop4'] = 5;
}
public function __get($property) {
return $this->property[$property];
}
}
谢谢!
如果没有__set setter,则无法通过__get魔术方法访问不存在的类字段。在您的情况下,这是对私有财产(字段)的调用
Z.Y. 不要使用 Object / property 这两个词,它们在 PHP 中是保留的;
__constructor是一个错误,对吧?