Php Symfony 5设置事件订户优先级
我目前无法根据查询参数设置eventsubscriber的优先级以设置区域设置 这是我在我的服务中的条目。yaml:Php Symfony 5设置事件订户优先级,php,symfony,Php,Symfony,我目前无法根据查询参数设置eventsubscriber的优先级以设置区域设置 这是我在我的服务中的条目。yaml: App\EventSubscriber\LocaleSubscriber: tags: - { name: kernel.event_listener, event: kernel.request, priority: 101 } 如我发布的symfony文件所示: debug:event kernel.request 这表明订阅者的优先级保持在20。
App\EventSubscriber\LocaleSubscriber:
tags:
- { name: kernel.event_listener, event: kernel.request, priority: 101 }
如我发布的symfony文件所示:
debug:event kernel.request
这表明订阅者的优先级保持在20。
我的应用程序的行为证实了这一点。您需要使用
例如:
类SampleEventSubscriber实现EventSubscriberInterface{
公共静态函数getSubscribedEvents:数组{
返回[
KernelEvents::REQUEST=>['onKernelRequest',9999]//9999是优先级
];
}
公共函数OnKernelRequestEvent$request{
//请求时的所有逻辑
}
}
然后在services.yaml中注册此订户
服务:
App\Events\SampleEventSubscriber:
标签:
-{name:'kernel.event_subscriber',方法:'onKernelRequest'}
您正在构建事件侦听器或事件订阅服务器?它们都是与事件调度器相关的,但它们不是同一件事,配置也不同。我正在构建一个EventSubscriber。然后您根本不需要标记它,您可以直接从订阅者代码进行配置。实际上,您可以通过侦听器设置优先级。并在您的答案中考虑服务定义。订户vs侦听器的全部要点是,在定义中不需要任何标记。六羟甲基三聚氰胺六甲醚。