Don't instantiate a LambdaHelper for classes with no Lambdas :)

This commit is contained in:
Justin Hileman
2013-01-26 14:36:24 -08:00
parent 38453d0eac
commit 05e527fe21
+20 -1
View File
@@ -141,6 +141,24 @@ class Mustache_Compiler
%s %s
}'; }';
const KLASS_NO_LAMBDAS = '<?php
class %s extends Mustache_Template
{
public function renderInternal(Mustache_Context $context, $indent = \'\', $escape = false)
{
$buffer = \'\';
%s
if ($escape) {
return %s;
} else {
return $buffer;
}
}
%s
}';
/** /**
* Generate Mustache Template class PHP source. * Generate Mustache Template class PHP source.
* *
@@ -153,8 +171,9 @@ class Mustache_Compiler
{ {
$code = $this->walk($tree); $code = $this->walk($tree);
$sections = implode("\n", $this->sections); $sections = implode("\n", $this->sections);
$klass = empty($this->sections) ? self::KLASS_NO_LAMBDAS : self::KLASS;
return sprintf($this->prepare(self::KLASS, 0, false), $name, $code, $this->getEscape('$buffer'), $sections); return sprintf($this->prepare($klass, 0, false), $name, $code, $this->getEscape('$buffer'), $sections);
} }
const SECTION_CALL = ' const SECTION_CALL = '