Сервисы и автомонтирование в Symfony
Любая часть работы, которая проделывается в Symfony, выполняется объектом. Например, объект Логгер выполняет логирование, а объект Twig отвечает за отображение шаблонов. Эти объекты называют сервисами.
Выше -- лишь часть полного списка. А по мере добавления пакетов, данный перечень будет расти.
Создание сервисов
Используя Symfony, вы можете создавать собственные сервисы — это поможет сделать код более упорядоченным. Допустим, вы желаете сгенерировать какое-нибудь случайное приветствие (к примеру, «Hey», «Yo», «Aloha» и т. п.). Соответствующий код совсем необязательно помещать напрямую в контроллер.
И теперь у вас появилась возможность использовать это в контроллере незамедлительно:
В результате Symfony инстанциирует GreetingGenerator, а потом передаст его в качестве аргумента, при этом все произойдет автоматически. Возникает вопрос: можно ли точно так же перемещать в GreetingGenerator логику логгера? Ответ — да. У разработчика существует возможность использовать автомонтирование внутри сервиса, что позволит получить доступ и к другим сервисам. Правда, следует учесть, что все выполняется в конструкторе:
И это работает: никакой конфигурации, да и время сэкономлено.
По материалам https://symfony.com/.