/** * Render template * * @param array $data Variables to provides for template * @param bool $trim Trim content * * @return string */ public function render($data = array(), $trim = true) { $template = static::BASE_PATH . $this->name . '.phtml'; try { extract($data); ob_start(); if (file_exists($template)) { include $template; } else { throw new \LogicException('The template "' . $template . '" not found.'); } if ($trim) { $content = Template::trim(ob_get_clean()); } else { $content = ob_get_clean(); } return $content; } catch (\LogicException $e) { ob_end_clean(); throw new \LogicException($e->getMessage()); } }