- var_dump: documentation ( source)
- array_key_exists: documentation ( source)
<?php
class Object {
private $data = [];
public function &__get($name) {
if (!array_key_exists($name, $this->data)) {
$this->data[$name] = new Object();
}
return $this->data[$name];
}
public function __set($name, $value) {
$this->data[$name] = $value;
}
}
$o = new Object();
$o->a->b->c->d = 'e';
var_dump($o);