如何从服务中的parameters.yml读取参数?

Rah*_*hul 3 symfony

我已经创建了一个服务,我需要从parameters.yml中读取一些参数,到目前为止我只能通过容器读取参数, 我已经将容器注入我的服务中,我知道注入容器不是好习惯而应该是注入所需的服务/组件,但是我无法找到从parameters.yml读取参数的方法,而无需将容器注入服务,然后在容器的帮助下读取参数.你能指导我一个替代解决方案吗?

编辑:

我有一长串参数列表,大约12-15,我在parameters.yml中存储API的速率限制选项,以便它们可以轻松配置

谢谢.

Tom*_*ski 5

由于你有一个很长的列表,一个接一个地注入这些参数将是苛刻的,但你可以注入参数数组.

parameters.yml

parameters:
    array_name:
        param1: value1
        param2: value2
        ...
Run Code Online (Sandbox Code Playgroud)

services.yml

services:
    your_service:
        class: Acme\DemoBundle\Class
        arguments: [%array_name%]
Run Code Online (Sandbox Code Playgroud)

你的服务:

public function __construct(array $parameters)
{
    //access $parameters['param1'], $parameters['param2']
}
Run Code Online (Sandbox Code Playgroud)