Расширение и автоконфигурация Twig в Symfony

За счет возможности обработки сервисов вы можете расширять фреймворк Symfony различными способами. Это может быть полезно, к примеру, при создании подписчика событий либо для обеспечения безопасности при введении сложных правил авторизации. Давайте посмотрим, как это работает.

Добавим в Twig новый фильтр, который называется greet. Как это сделать? Просто создадим класс, расширяющий AbstractExtension:

То есть по большему счету мы создали всего один файл. Несмотря на это, мы можем использовать свое решение практически сразу же:

Как это функционирует?

Symfony — «наблюдательный» фреймворк, который «замечает», что ваш класс расширяет AbstractExtension. На основании этого фреймворк автоматически регистрирует его в качестве расширения Twig. Называется все это автоконфигурацией.

Автоконфигурация — вполне себе рабочее решение, которое полезно во многих случаях. Вам достаточно просто создать класс, а потом расширить базовый класс либо реализовать интерфейс. Ну а обо всем остальном позаботится сам фреймворк Symfony.

По материалам https://symfony.com/.