Прошу не обращать внимание на 2 новых метода, которые появились в MainController. На информацию из этого видео они никак не влияют. Просто записал видео на первом попавшемся контроллере )
До сих пор мы выводили в качестве ключа передаваемого внутрь шаблона Twig некую переменную.
Что делать, если внутрь Twig нужно передать не переменную, а массив или объект?
Предположим, что в переменной $tmp внутри массива у нас располагается какой-то PHP массив.
/**
* @Route("/test-twig", name="testTwig")
*/
public function testTwig()
{
$tmp = [
'key1' => 'Проба1',
'key2' => 'Проба2',
];
return $this->render('test/index.html.twig', [
'tmp' => $tmp
]);
}
Давайте посмотрим, как мы можем вывести, скажем, второй ключ внутри нашего шаблона Twig.
Если воспользоваться просто конструкцией:
{{tmp}}
Мы получим ошибку, что невозможно отобразить как строку значения массива.
Для того, чтобы отобразить какой-то элемент массива, нужно указать его ключ.
В шаблонизаторе Twig это делается через знак точку.
{{ tmp.key1 }}
Если в контроллере массив не ассоциативный:
$tmp = [ 'Проба1', 'Проба2', ];
Индексы в массиве начинаются с нуля и у каждого элемента есть свой индекс.
Индекс нужного элемента можно посмотреть с помощью функции:
dd($tmp)
Для того, чтобы нам вывести "Проба2", в Twig нужно указать индекс 1.
{{ tmp.1 }}
Таким образом мы можем передавать в шаблонизатор Twig массивы и выводить их значения.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти