symfony - symfony fos 用户参数监听器注入失败
问题描述
我正在使用 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) { ...
我不明白问题的根源。
解决方案
推荐阅读
- javascript - Javascript - 使用简写 jQuery 添加授权标头
- javascript - TypeScript 错误对象原型可能只是一个对象或 null:未定义
- python-3.x - 如何使用 Pytorch 中保存的模型来预测从未见过的图像的标签?
- java - 错误:必须声明一个命名包,因为此编译单元与命名模块“*******”相关联
- c# - 如何停止在另一个线程中创建的循环
- python - 没有循环的元组的元组索引列表
- javascript - 使用 DevTools 在网站上运行脚本
- d3.js - crossfilter 下拉过滤器和折线图不能一起工作
- javascript - JavaScript If 条件语句不筛选输入值
- c# - .net core AspnetCore Razor 视图因 CompilationFailedException 而失败