РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1241 of 1361 menu

Команда make:twig-component

Команда make:twig-component создаёт новый Twig-компонент в проекте Symfony. Компонент состоит из Twig-шаблона и, опционально, PHP-класса, который обрабатывает входные данные перед рендерингом. Первым параметром команде передаётся имя компонента, вторым необязательным флагом --no-interaction можно отключить интерактивный режим. Компоненты удобны для создания независимых блоков интерфейса, таких как карточки, кнопки или панели.

Синтаксис

php bin/console make:twig-component name

Пример

Давайте создадим Twig-компонент с именем ArticleCard:

php bin/console make:twig-component ArticleCard

В интерактивном режиме команда спросит, нужно ли создавать PHP-класс для компонента. Ответим yes. Результат выполнения команды:

created: templates/components/ArticleCard.html.twig created: src/Twig/Components/ArticleCard.php

Пример

Команда создала файл компонента templates/components/ArticleCard.html.twig:

<div {{ attributes }}> {{ title }} </div>

А также PHP-класс компонента src/Twig/Components/ArticleCard.php:

<?php namespace AppTwigComponents; use SymfonyUxTwigComponentAttributeAsTwigComponent; #[AsTwigComponent] class ArticleCard { public string $title = ''; } ?>

Пример

Давайте используем компонент в другом шаблоне и передадим ему заголовок:

{% for item in items %} <twig:ArticleCard title="{{ item }}" /> {% endfor %}

Если контроллер передаёт в шаблон массив items со значениями ['article 1', 'article 2'], то результат выполнения кода будет таким:

<div> article 1 </div> <div> article 2 </div>

Смотрите также

  • команда make:controller,
    которая создаёт контроллер
  • команда make:form,
    которая создаёт класс формы
  • команда lint:twig,
    которая проверяет синтаксис Twig-шаблонов
  • команда debug:twig,
    которая показывает информацию о Twig-шаблонах
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить