Php 卫生福利及食物局局长;FOSUserBundle事件未触发

Php 卫生福利及食物局局长;FOSUserBundle事件未触发,php,symfony,fosuserbundle,hwioauthbundle,Php,Symfony,Fosuserbundle,Hwioauthbundle,我已经遵循了所有关于使用FOSUserBundle设置HWIOAuthBundle的建议,但我希望能够访问用户注册时触发的事件,但到目前为止似乎无法访问。按照中的建议,这里是我的事件订阅者(注意,我对所有事件都不感兴趣,但我只想测试是否有任何事件被触发): 但是,我看不到任何FOSUserEvents被记录,即使身份验证/注册成功。我认为唯一相关的其他信息是,我还将FOSUserBundle与SonataAdminBundle集成,这似乎也能正常工作。(好吧,在我弄明白如何将FOSUserBun

我已经遵循了所有关于使用FOSUserBundle设置HWIOAuthBundle的建议,但我希望能够访问用户注册时触发的事件,但到目前为止似乎无法访问。按照中的建议,这里是我的事件订阅者(注意,我对所有事件都不感兴趣,但我只想测试是否有任何事件被触发):

但是,我看不到任何FOSUserEvents被记录,即使身份验证/注册成功。我认为唯一相关的其他信息是,我还将FOSUserBundle与SonataAdminBundle集成,这似乎也能正常工作。(好吧,在我弄明白如何将FOSUserBundle升级到v2.0并修复了所需的更改后,这是正确的。)


有人知道我在这里遗漏了什么才能钩住这些事件吗?

结果是HWIOAuthBundle不使用FOSUserBundle注册控制器,所以它永远不会触发这些事件。

结果是HWIOAuthBundle不使用FOSUserBundle注册控制器,所以它永远不会触发这些事件事件。

您是否有其他正在正确加载的服务?是否有可能未加载您的services.yml文件?app/console container:debug是否显示您的服务?是的,正在加载该服务,我在运行container:debug时可以看到它,但是感谢您提供的额外调试提示,即您发布的真实代码,或者您是否针对您的问题对其进行了编辑?我这样问是因为构造函数只显示一个参数。它应该抛出一条错误消息。您是否有错误报告(E_ALL);在什么地方?简单的打字错误会给你带来错误吗?我确实为我的问题编辑了代码,因为路由器还没有被使用,我已经将此添加回了原处。就事件处理而言,我没有发现任何其他错误。也许在onRegistrationInitialize中粘贴一个die语句。可能是记录器未正确初始化,因此日志消息未被持久化。是否有其他正在正确加载的服务?是否有可能未加载您的services.yml文件?app/console container:debug是否显示您的服务?是的,正在加载该服务,我在运行container:debug时可以看到它,但是感谢您提供的额外调试提示,即您发布的真实代码,或者您是否针对您的问题对其进行了编辑?我这样问是因为构造函数只显示一个参数。它应该抛出一条错误消息。您是否有错误报告(E_ALL);在什么地方?简单的打字错误会给你带来错误吗?我确实为我的问题编辑了代码,因为路由器还没有被使用,我已经将此添加回了原处。就事件处理而言,我没有发现任何其他错误。也许在onRegistrationInitialize中粘贴一个die语句。可能是记录器未正确初始化,因此日志消息未被持久化。是否找到任何可以侦听的HWI OAuth事件?抱歉,没有找到任何可以侦听的HWI OAuth事件。是否找到任何可以侦听的HWI OAuth事件?抱歉,没有找到任何可以侦听的HWI OAuth事件
<?php
namespace Acme\ClientBundle\EventListener;

use FOS\UserBundle\Event\FilterUserResponseEvent;
use FOS\UserBundle\Event\FormEvent;
use FOS\UserBundle\Event\GetResponseUserEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\UserEvent;
use Symfony\Bridge\Monolog\Logger;

/**
 * RegistrationConfirmListener
 */
class RegistrationConfirmListener implements EventSubscriberInterface
{
    /**
     * @var Logger
     */
    private $logger;

    function __construct(UrlGeneratorInterface $router, Logger $logger)
    {
        $this->router = $router;
        $this->logger = $logger;
    }

    public static function getSubscribedEvents()
    {
        return array(
            FOSUserEvents::REGISTRATION_INITIALIZE => 'onRegistrationInit',
            FOSUserEvents::REGISTRATION_CONFIRM    => 'onRegistrationConfirm',
            FOSUserEvents::REGISTRATION_CONFIRMED  => 'onRegistrationConfirmed',
            FOSUserEvents::REGISTRATION_COMPLETED  => 'onRegistrationCompleted',
            FOSUserEvents::REGISTRATION_SUCCESS    => 'onRegistrationSuccess',
        );
    }

    public function onRegistrationInit(UserEvent $event)
    {
        $this->logger->info('Registration has started: ' . serialize($event));
    }

    public function onRegistrationConfirm(GetResponseUserEvent $event)
    {
        $this->logger->info("Registration is confirming: " . serialize($event));
    }

    public function onRegistrationConfirmed(FilterUserResponseEvent $event)
    {
        $this->logger->info("Registration has been confirmed: " . serialize($event));
    }

    public function onRegistrationCompleted(FilterUserResponseEvent $event)
    {
        $this->logger->info("Registration has been completed: " . serialize($event));
    }

    public function onRegistrationSuccess(FormEvent $event)
    {
        $this->logger->info("Registration has been successful: " . serialize($event));
    }
}
acme_user.registration_complete:
    class: Acme\ClientBundle\EventListener\RegistrationConfirmListener
    arguments: [ @router, @logger ]
    tags:
        - { name: kernel.event_subscriber }