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);
 }