微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 symfony 3 侦听器不在另一个环境中执行?

如何解决为什么 symfony 3 侦听器不在另一个环境中执行?

class UserListener extends AbstractVopListener
{
    /** @var LoggerInterface */
    private LoggerInterface $logger;

    public function __construct(EventdispatcherInterface $eventdispatcher,EntityManagerInterface $entityManager,LoggerInterface $logger)
    {
        parent::__construct($eventdispatcher,$entityManager);
        $this->logger = $logger;
    }

    public function onUserCreated(UserEvent $event): void
    {
        $this->logger->alert('Debug hubspot: onUserCreated started');

        $user = $event->getUser();
        if ($this->isEligible($user)) {
            $this->logger->alert('Debug hubspot: onUserCreated is eligible');
            $this->eventdispatcher->dispatch(
                ContactCreateEvent::NAME,new ContactCreateEvent($user)
            );
        }
    }

 // other functions

}

services.xml:

<service id="Vop\Marketing\HubSpotBundle\EventListener\UserListener" autoconfigure="false">
            <tag name="kernel.event_listener" event="vop_user.event.user_created" method="onUserCreated" />
            <tag name="kernel.event_listener" event="vop_user.event.user_updated" method="onUserUpdated" />
        </service>

UserEntityListener.PHP

class UserEntityListener implements EventSubscriber
{ 

    public function postPersist(LifecycleEventArgs $args)
    {
        $entity = $args->getEntity();

        if (!$entity instanceof UserInterface) {
            return;
        }

        $this->logger->alert('Debug hubspot: UserEntityListener postPersist');

        $this->eventdispatcher->dispatch(
            VopUserEvents::USER_CREATED,new UserEvent($entity)
        );

    }
}

listeners.xml

<service id="vop_user.listener.user_entity" class="Vop\UserBundle\EventListener\UserEntityListener" autowire="true">
            <tag name="doctrine.event_subscriber"/>
        </service>

事件常量:

public const USER_CREATED = 'vop_user.event.user_created';

我有日志

“调试中心:UserEntityListener postPersist”

但不要在登台环境中获取此日志:

“调试中心:onUserCreated 开始”

在我的机器上记录了两个日志。登台环境有什么不同?我也没有看到任何错误。如何调试?在 symfony 调度调用添加日志以查看内部中断看起来有很多工作。

确切的版本是 3.4.47

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。