Я использую 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'));
Документация Twig предлагает более простой способ сделать то же самое:
echo $twig->render('index.html.twig', array('the' => 'variables', 'go' => 'here'));
Дополнительным преимуществом является то, что render
метод Twig_Environment
Класс позволяет вам пропустить второй аргумент (по умолчанию это пустой массив), так что теперь вы можете просто сделать это:
echo $twig->render('index.twig.html');
Других решений пока нет …