Php Symfony 5设置事件订户优先级

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。

我目前无法根据查询参数设置eventsubscriber的优先级以设置区域设置

这是我在我的服务中的条目。yaml:

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侦听器的全部要点是,在定义中不需要任何标记。六羟甲基三聚氰胺六甲醚。