在我的自定义 类 Symfony2 中获取容器参数

get container parameter in my custom classes Symfony2

我有 class,它声明为服务。当我 get() 我的服务时,我 运行 一些方法,这个方法需要两个参数,我想让用户在 config.yml 中配置。如何在这个 class 中获取这些参数?也许在我的服务定义中存在某种方式来做到这一点?或者我需要从 ContainerAware 扩展我的 class(如果我是对的,这是不好的做法)?谢谢!

您可以使用 %param_name% 语法将参数注入您的服务

services.yml

services:
    your_service:
        class: Acme\DemoBundle\YourClass
        arguments: [@some.other.service, %my_parameter%]

parameters.yml

parameters:
    my_parameter: my_value

您可以使用构造函数调用它们

acme.your_service:
    class: Acme\DemoBundle\YourService
    arguments: [%param1%]

在class

class YourService {
   protected $param1;

   public function __construct($param1) {
      $this->param1 = $param1;
   }
}