/** * Return all variables stored on local and shared data. * * @return array */ public function gatherData() { $data = array_merge($this->factory->getShared(), $this->data); // All nested Views are evaluated before the main View. foreach ($data as $key => $value) { if ($value instanceof Renderable) { $data[$key] = $value->render(); } } return $data; }