如何在不将任何数组传递给 render() 方法的情况下渲染 Twig 模板?

How to render a Twig template without passing any array to render() method?

我用了几天 Twig,它非常好,但现在我需要在不向 render() 方法传递任何数组的情况下渲染模板。

我正在使用:

echo $template->render();

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

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

它确实有效,但它太丑了。

有什么建议吗?谢谢!

除了传递一个包含空字符串元素的数组之外,您还应该能够向模板传递一个空数组:

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

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

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