使用JSON将变量传递给Twig

时间:2016-06-27 11:43:56

标签: json symfony twig

在这行代码中,Twig传递了一个变量名和值数组:

echo $twig->render('index.html.twig', array('name' => 'John'));

但是,有没有一种方法可以传递一些已经设置了这些键/值的JSON,而不是手动传递它们? E.g。

echo $twig->render('index.html.twig', array(array_from_json_file('names.json'));

显然,您可以从头开始编写array_from_json_file函数,但我想知道是否已经有一个我应该使用的内置函数。

1 个答案:

答案 0 :(得分:0)

如果array_from_json_file返回一个关联数组,您只需将其返回值传递给render的第二个参数。

echo $twig->render('index.html.twig', array_from_json_file('names.json'));

array_from_json_file必须将json_decode的第二个参数设置为true才能获得关联数组

public function array_from_json_file($basename)
{
  // do not allow $basename to be user submitted ever
  return json_decode(file_get_contents("/path/to/{$basename}"), true);
}