Как я могу использовать Symfony Webpack Encore TagRenderer и EntrypointLookup без Twig - PullRequest
0 голосов
/ 11 июля 2019

Я добавляю Symfony Webpack Encore в существующий проект с собственными шаблонами php, поэтому без использования Twig. Реорганизация всего проекта в Twig сейчас не стоит усилий.

Следующий код Twig предлагается в документации Webpack Encore для визуализации тегов JS script и тегов CSS link.

 {% block stylesheets %}
     {{ encore_entry_link_tags('app') }}
 {% endblock %}
 {% block javascripts %}
     {{ encore_entry_script_tags('app') }}
 {% endblock %}

Так что я хотел бы реализовать тот же код без использования Twig. Эти функции Twig используют классы TagRenderer и EntrypointLookup. Как я могу инициировать необходимые модели и имитировать функциональность функций Twig?

1 Ответ

1 голос
/ 11 июля 2019

Если у вас есть доступ к услуге в файле PHP, то это код PHP, стоящий за функциями ветки:

$service = $container->get('webpack_encore.tag_renderer');

encore_entry_link_tags

$service->renderWebpackLinkTags($entryName, $packageName, $entrypointName);

encore_entry_script_tags

$service->renderWebpackScriptTags($entryName, $packageName, $entrypointName);

Аргументы, которые вы должны передать (с конфигурацией по умолчанию)

  • $entryName = 'app'
  • $packageName = null
  • $entrypointName = '_default';
...