如何解决为什么 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 举报,一经查实,本站将立刻删除。