public function __get($key) { if (!isset($this->data[$key])) { return null; } if (is_array($this->data[$key])) { return new self($this->data[$key]); } }