symfony fos用户参数侦听器注入失败

时间:2018-06-21 07:14:00

标签: symfony parameters listener

我正在使用FOSUserBundle来管理用户。我需要重写与此事件相关的侦听器。后者的依赖关系定义如下:

    user.password.change:
        class: AppBundle\Listeners\PasswordResettingListener
        arguments: ['@router', '@listener1', '@listener2']
        tags:
           - { name: kernel.event_subscriber }

我的问题在于依赖参数的注入。侦听器2依赖于另一个侦听器:

    listener2:
        class: AppBundle\HTTPRequest\Rezopouce
        arguments: ["@request_stack", '@api.token.listener']

    api.token.listener:
        class: AppBundle\Listeners\ApiTokenListener
        arguments: ['@doctrine.orm.entity_manager', '@security.token_storage', '%api%']
        tags:
             - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }

依赖项之一api.token.listener:'%api%'是在配置中定义的参数数组。正是这种依赖关系没有被正确注入。

我想指出的是,在事件kernel.request之后直接调用侦听器时,注入依赖项没有任何问题。

api.token.listener的构造函数,其中$api是受保护的装饰品:

    public function __construct(EntityManagerInterface $em, TokenStorageInterface $security_token_storage, $api = null) { ...

我不明白问题的根源。

0 个答案:

没有答案