[Templating] fixed PHP renderer when using a template variable named 'template'

This commit is contained in:
Fabien Potencier 2010-08-25 11:30:59 +02:00
parent 271b963738
commit bf67562268

View File

@ -32,18 +32,19 @@ class PhpRenderer extends Renderer
*/
public function evaluate(Storage $template, array $parameters = array())
{
if ($template instanceof FileStorage) {
$__template__ = $template;
if ($__template__ instanceof FileStorage) {
extract($parameters);
$view = $this->engine;
ob_start();
require $template;
require $__template__;
return ob_get_clean();
} else if ($template instanceof StringStorage) {
} elseif ($__template__ instanceof StringStorage) {
extract($parameters);
$view = $this->engine;
ob_start();
eval('; ?>'.$template.'<?php ;');
eval('; ?>'.$__template__.'<?php ;');
return ob_get_clean();
}