Расширение и автоконфигурация Twig в Symfony
За счет возможности обработки сервисов вы можете расширять фреймворк Symfony различными способами. Это может быть полезно, к примеру, при создании подписчика событий либо для обеспечения безопасности при введении сложных правил авторизации. Давайте посмотрим, как это работает.
Добавим в Twig новый фильтр, который называется greet. Как это сделать? Просто создадим класс, расширяющий AbstractExtension:
То есть по большему счету мы создали всего один файл. Несмотря на это, мы можем использовать свое решение практически сразу же:
Как это функционирует?
Symfony — «наблюдательный» фреймворк, который «замечает», что ваш класс расширяет AbstractExtension. На основании этого фреймворк автоматически регистрирует его в качестве расширения Twig. Называется все это автоконфигурацией.
Автоконфигурация — вполне себе рабочее решение, которое полезно во многих случаях. Вам достаточно просто создать класс, а потом расширить базовый класс либо реализовать интерфейс. Ну а обо всем остальном позаботится сам фреймворк Symfony.
По материалам https://symfony.com/.