Я думаю, вы можете поместить его в любой каталог, который обрабатывается автозагрузчиком (или вы можете добавить в автозагрузчик).
Другими словами, вы должны указать имя класса в конфигурации, а не путь к классу . Пока он автоматически загружается, он будет работать.
Например, вы можете поместить свои расширения в библиотеку с именем TwigExtensions в каталоге src / TwigExtensions :
services:
foo.twig.extension:
class: "TwigExtensions\Extension\MyTwigExtension
tags:
- { name: twig.extension }
Таким образом, ваши расширения будут независимы от Symfony.
Хорошими примерами подобной настройки являются DoctrineExtensions и DoctrineExtensionsBundle .