我当前在设置eventsubscriber的优先级以根据查询参数设置区域设置时遇到问题。
这是我的服务项目
AppEventSubscriberLocaleSubscriber:
tags:
- { name: kernel.event_listener, event: kernel.request, priority: 101 }
如我发布的符号文件所示:
debug:event kernel.request
这表明订阅者的优先级仍然是20。我的应用程序的行为证实了这一点。
您需要使用EventSubscriber
示例:
class SampleEventSubscriber implements EventSubscriberInterface {
public static function getSubscribedEvents(): array {
return [
KernelEvents::REQUEST => ['onKernelRequest', 9999] // 9999 is priority
];
}
public funtion onKernelRequest(RequestEvent $request) {
// all logic on requests
}
}
然后在services.yaml
中注册该订户
services:
AppEventsSampleEventSubscriber:
tags:
- { name: 'kernel.event_subscriber', method: 'onKernelRequest' }