Esempio n. 1
0
 /**
  * @param string $id
  * @param callable $engine
  * @param null $template
  *
  * @return mixed
  */
 public function render($id, $engine = null, $template = null)
 {
     $definition = $this->app->views[$id];
     if (!$engine) {
         $engine = \Patron\Engine::get_singleton();
     }
     $page = $this->resolve_view_page($id);
     $class = $this->resolve_view_classname($definition);
     $view = new $class($id, $definition, $engine, $this->app->document, $page);
     $rc = $view();
     return $template ? $engine($template, $rc) : $rc;
 }