Прошу не обращать внимание на 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 - зарегистрироваться / войти