function renderTemplate($tplFile, array $vars = array()) { $pathToTpl = templatePath($tplFile); if (endsWith($tplFile, '.php')) { require_once $pathToTpl; $classes = Reflection\getClassesDefinedInFile($pathToTpl); if (count($classes) == 0) { throw new \Exception("No classes defined in file {$pathToTpl}"); } else { if (count($classes) > 1) { throw new \Exception("Multiple classes defined in file {$pathToTpl}"); } } $className = current($classes); $tplObj = new $className(); return renderTemplateObject($tplObj, $vars); } else { if (endsWith($tplFile, '.diet-php')) { $tplContext = new Template\Context(templatesDir(), $vars); return Template\renderFile($tplFile, $tplContext); } else { throw new \InvalidArgumentException("Template file `{$tplFile}` has unexpected extension"); } } }
private function renderDietTpl($tpl, array $vars) { $tplDir = dirname(dirname(__FILE__)) . '/templates'; $tplContext = new Template\Context($tplDir, $vars); return Template\renderFile($tpl, $tplContext); }