Вопросы

Сервисный контейнер 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: Frontend\MainBundle\EventListener\LocaleListener
        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

Читать:
Добавить слушателя с Table Calendar Flutter

Похожие записи

В шаблоне строк нельзя использовать восьмеричные escape-последовательности.

admin

Выбор функции потерь для lstm, обученного на векторах word2vec, когда целью является вектор тех же размеров

admin

Конвейер Azure DevOps не может расширять ни одну из переменных среды во время выполнения.

admin

Установите состояние автоматизации Azure как сбой при ошибке Invoke-AzVMRunCommand, чтобы вызвать предупреждение

admin

Типы накопительных сборок: критическая ошибка «Неожиданный токен»

admin

Определение переменных в cfscript ColdFusion?

admin