在这行代码中,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
函数,但我想知道是否已经有一个我应该使用的内置函数。
答案 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);
}