Ваш контроллер не работает, потому что у вас нет пространства имен . Поэтому в начале добавьте правильное пространство имен, но все еще будет проблематично вводить параметры с помощью ручного подключения, поскольку вы расширяете базовый контроллер.
Лучше просто использовать автопроводку, при этом вам не нужно будет определять свои зависимости из services.yml, и он будет легко работать с контроллерами.
Вот пример
# app/config/services.yml
services:
# default configuration for services in *this* file
_defaults:
# automatically injects dependencies in your services
autowire: true
# automatically registers your services as commands, event subscribers, etc.
autoconfigure: true
# this means you cannot fetch services directly from the container via $container->get()
# if you need to do this, you can override this setting on individual services
public: false
# makes classes in src/AppBundle available to be used as services
# this creates a service per class whose id is the fully-qualified class name
AppBundle\:
resource: '../../src/AppBundle/*'
# you can exclude directories or files
# but if a service is unused, it's removed anyway
exclude: '../../src/AppBundle/{Entity,Repository}'
# controllers are imported separately to make sure they're public
# and have a tag that allows actions to type-hint services
AppBundle\Controller\:
resource: '../../src/AppBundle/Controller'
tags: ['controller.service_arguments']
пс. Кроме того, я рекомендую вообще не расширять базовый контроллер, потому что таким образом вы получаете слишком много зависимостей, которые вам на самом деле не нужны. Лучше получить ветку, услуги и все, что вам нужно, подключив их.