服务方法调用和Setter注入

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.7,现已不再维护。

本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。

服务方法调用和Setter注入

通常,您希望通过构造函数注入依赖项。但有时,特别是如果依赖项是可选的,你可能想要使用“setter注入”。例如:

12 3 4 5 6 7 8 9 10 11 12 13 14 15
名称空间AppBundle服务使用Psr日志LoggerInterfaceMessageGenerator私人日志记录器公共函数setLogger(LoggerInterface日志记录器->记录器=日志记录器;}/ /……

将容器配置为调用setLogger方法,使用调用关键:

  • YAML
  • XML
  • PHP
1 2 3 4 5 6 7 8
# app / config / services.yml服务:app.message_generator:#……电话:-方法:setLogger参数:-“@logger”
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。