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

时间:2015-01-26 12:09:03

标签: symfony service configuration containers

我有课,它宣布为服务。当我get()我的服务时,我运行了一些方法,这个方法需要两个参数,我想让用户在config.yml中配置。我怎么能在这堂课上得到这些参数?也许在我的服务定义中有某种方式可以做到这一点?或者我需要从ContainerAware扩展我的课程(如果我的做法不对)?谢谢!

2 个答案:

答案 0 :(得分:3)

您可以使用%param_name%语法

将参数注入服务

<强> services.yml

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

<强> parameters.yml

parameters:
    my_parameter: my_value

答案 1 :(得分:2)

您可以使用构造函数

来调用它们
acme.your_service:
    class: Acme\DemoBundle\YourService
    arguments: [%param1%]

在班级

class YourService {
   protected $param1;

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