Сервисный контейнер symfony3.4 в шаблоне

Я определил службу в моем MainBundle / MainFunctions /, а в контроллере я могу вызвать эту службу. Как теперь получить контейнер службы в SYMFONY 3.4 в шаблоне? Прочтите документы, что это больше не общедоступно.

#view/template.html.php <?php $shop_id = $this->container->get(‘main_functions’)->getSessionShopId(); ?>

Мой config.yml

imports: — { resource: parameters.yml } — { resource: security.yml } — { resource: services.yml } — { resource: «@FrontendMainBundle/Resources/config/services.yml

мой FrontendMainBundle / Resources / config / services.yml

services: _defaults: public: true frontend_locale.locale_listener: class: FrontendMainBundleEventListenerLocaleListener arguments: [«%kernel.default_locale%»] tags: — { name: kernel.event_subscriber } main_functions: public: true class: «%main_functions_class.class%» arguments: [‘@translator’, ‘@doctrine.orm.entity_manager’….

Я читал документы, что это больше не публично. Но я не могу перейти к main_functions в шаблоне. Как?

БЛАГОДАРНОСТЬ!!!

На мой взгляд, использование локатора сервисов в шаблонах — плохая практика. Вместо этого вставляйте сервис main_functions в свой контроллер и передавайте в шаблоны только необходимые переменные.   —  person craphunter    schedule 04.12.2017

Источник: ledsshop.ru

Стиль жизни - Здоровье!