Мне кажется, проблема в том, что имя службы UrlGenerator Symfony\Component\Routing\Generator\UrlGeneratorInterface
, а не Symfony\Component\Routing\Generator\UrlGenerator
(ср. этот код ).
Во-вторых, когда вы декорируете сервис, декоратор примет название сервиса. Так что вам не нужно изменять router.options.generator_class
.
Попробуйте с этой конфигурацией:
my.url_generator:
class: AppBundle\Service\UrlGenerator
decorates: Symfony\Component\Routing\Generator\UrlGeneratorInterface
arguments: ['@my.url_generator.inner']
Установка public
в false
, вероятно, не требуется, так как в Symfony4 / Flex это должно быть значение по умолчанию.