Я использую FOSUserBundle на своем сайте Symfony (3.0.6). Недавно я обновил свои зависимости с помощью композитора, и теперь у меня есть FOSUserBundle версии 2.1.0.
Проблема: я переопределил контроллер регистрации (он работал хорошо), но теперь у меня появляется эта ошибка, когда я хочу получить доступ к своей странице регистрации:
Catchable Fatal Error: Argument 1 passed to FOS\UserBundle\Controller\RegistrationController::__construct() must implement interface Symfony\Component\EventDispatcher\EventDispatcherInterface, none given, called in D:\wamp64\www\mySite\var\cache\dev\classes.php on line 2457 and defined 500 Internal Server Error - ContextErrorException
В контроллере регистрации FOSUserBundle добавлены следующие строки:
class RegistrationController extends Controller
{
private $eventDispatcher;
private $formFactory;
private $userManager;
private $tokenStorage;
public function __construct(
EventDispatcherInterface $eventDispatcher,
FactoryInterface $formFactory,
UserManagerInterface $userManager,
TokenStorageInterface $tokenStorage
) {
$this->eventDispatcher = $eventDispatcher;
$this->formFactory = $formFactory;
$this->userManager = $userManager;
$this->tokenStorage = $tokenStorage;
}
// ...
}
В предыдущей версии связки не было конструктора.
Есть ли у кого-нибудь идеи
Заранее спасибо.




Взгляните на пользовательский журнал fos CHangelog (https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Changelog.md), они изменили способ перезаписи контроллера:
«Контроллеры и команды подверглись рефакторингу для использования DI. Проекты, расширяющие эти классы, должны будут адаптировать свой код (но лучше использовать поддерживаемые точки расширения, когда это возможно)».
Некоторое обсуждение здесь: stackoverflow.com/questions/50487275/… Лучше всего просто «заморозить» версию fos до той, которая работает.