EasyAdminBundle использует пользовательский манипулятор FOSUserBundle для создания пользователей &. Я хочу захватить пароль, используемый при создании пользователя для обновления базы данных postfix. Когда пользователь создается, профилировщик dev не показывает, что прослушивалось какое-либо событие FOSUserBundle. Единственным событием EasyAdminBundle было easy_admin.post_initialize
. EasyAdminEvents
класс показываетСобытие EasyAdminBundle POST_INITIALIZE - неопределенная константа класса
/** @Event("Symfony\Component\EventDispatcher\GenericEvent") */
const POST_INITIALIZE = 'easy_admin.post_initialize';
Но слушатель событий с:
use Symfony\Component\EventDispatcher\GenericEvent;
...
public static function getSubscribedEvents()
{
return array(
GenericEvent::POST_INITIALIZE => 'onPostInitialize',
);
}
бросает:
Fatal error: Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Undefined class constant 'POST_INITIALIZE' ...
Я думал, что ответ должен был использовать JavierEguiluz\Bundle\EasyAdminBundle\Event\EasyAdminEvents
событие, а не Symfony GenericEvent
. Как и в
use JavierEguiluz\Bundle\EasyAdminBundle\Event\EasyAdminEvents;
...
public static function getSubscribedEvents()
{
return array(
EasyAdminEvents::POST_INITIALIZE => 'onPostInitialize',
);
}
...
//error occurs on the following line:
public function onPostInitialize(EasyAdminEvents $event)
{
...
}
Однако это дало мне это Catch 22:
must be an instance of JavierEguiluz\Bundle\EasyAdminBundle\Event\EasyAdminEvents, instance of Symfony\Component\EventDispatcher\GenericEvent given"