【发布时间】:2018-02-21 21:08:01
【问题描述】:
在文件 service.yaml 我有:
parameters:
security.allows.ip:
- '127.0.0.1'
- '127.0.0.2'
或者:
parameters:
security.allows.ip: ['127.0.0.1', '127.0.0.2']
以及 DI 的配置:
services:
_defaults:
autowire: true
autoconfigure: true
public: false
我想为班级配置服务:
security.class:
class: App\Class
arguments:
- '%security.allows.ip%'
最后我有消息:
无法自动装配服务“App\Class”:方法“__construct()”的参数“$securityConfiguration”必须具有类型提示或显式指定值。
而构造函数定义为:
public function __construct(array $securityConfiguration)
你能帮我吗?在 symfony 2.8 中它可以工作,但是对于这个配置我有这个错误。类型提示字符串的其他服务还可以,但不适用于此类。如果我添加容器接口来构造这个类并通过 ->getParameter('security.allows.ip') 获取参数,它就可以工作。为什么?
【问题讨论】:
-
我建议编辑这篇文章的标题,使其更加关注问题细节。
标签: php symfony dependency-injection containers yaml