如何渲染Twig模板而不将任何数组传递给render()方法?

时间:2015-02-06 13:24:20

标签: php arrays twig template-engine

我正在使用Twig几天,这非常好,但现在我需要渲染模板而不将任何数组传递给render()方法。

我正在使用:

echo $template->render();

但是Twig引发了异常,因为我需要将一些数组传递给渲染。所以我试过了:

echo $template->render(array(''=>''));

它有效,但它太丑了。

关于此的任何提示?谢谢!

1 个答案:

答案 0 :(得分:3)

您还应该能够将模板传递给一个空数组,而不是传递包含空字符串元素的数组:

echo $template->render(array());

除此之外,你可能会这样使用Twig:

$template = $twig->loadTemplate('index.html.twig');
echo $template->render(array('the' => 'variables', 'go' => 'here'));

The Twig documentation建议采用更简单的方法:

echo $twig->render('index.html.twig', array('the' => 'variables', 'go' => 'here'));

额外的好处是render类的Twig_Environment方法允许你省略第二个参数(默认为空数组),所以现在你可以简单地这样做:

echo $twig->render('index.twig.html');