Сколько макросов Twig слишком много? («Макросы как функциональные компоненты»)Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Сколько макросов Twig слишком много? («Макросы как функциональные компоненты»)

Сообщение Anonymous »

Надеюсь, это подходящее место для публикации...
Я новичок в twig/timber/wp/etc. Недавно получил спецификации для довольно запутанного дизайна страницы. а создание функциональных компонентов из макросов Twig кажется наиболее эффективным и интуитивно понятным способом по-настоящему понять дизайн и воплотить его в коде. Есть ли какая-то причина избегать создания частичных файлов с помощью множества функциональных макросов? Например, некоторые «базовые» макросы будут переданы другим для создания этих компонентов. Кажется, не наблюдается каких-либо заметных ухудшений производительности, но я хотел узнать, есть ли у кого-нибудь непосредственный опыт с этим, И/ИЛИ, есть ли лучшие/более рекомендуемые способы сделать этот «функциональный компонент» или просто «компонент». " подход. И следует ли использовать «включение» или «встраивание» с этими фрагментами при их размещении в шаблоне страницы?
Пример:

Код: Выделить всё

{%- import 'partials/macros/button.twig'  as button  -%}
{%- import 'partials/macros/heading.twig' as heading -%}
{%- import 'partials/macros/assets.twig'  as assets  -%}
{%- import 'partials/macros/copy.twig'    as assets  -%}



{{ heading.jumbo('some text') }}



{{ copy.newsletter_description() }}



{{ button.signup() }}

{{ assets.some_svg() }}


Я пробовал создавать разделы страниц с помощью включений, но процесс изменения всех экземпляров html-элемента показался мне невероятно утомительным. При разбиении его на более мелкие компоненты каждый раз было утомительно и неуклюже использовать 'with': {% include 'partials/my-thingie' with { 'my_var': 'stuff', 'etc': 'etc' } %
Я предпочитаю: {{ button.signup() }} или {{ button.search() }} или {{ heading.jumbo() }} или {{ heading.teaser() }}
Производительность обоих вариантов очень похожа. Не делал никакого жесткого профилирования (никогда не использовал профилировщик Twig)
Еще раз всем спасибо!


Подробнее здесь: https://stackoverflow.com/questions/787 ... components
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»