使用symfony2我正在关注this documentation来创建和使用服务来执行一般任务。
我几乎已经完成了,但我还有一个问题(当然是由于对Symfony2中服务容器的一些误解。
课程是这样的:
class MyClass{
private $myProperty;
public funciton performSomethingGeneral{
return $theResult;
}
}
现在,在我的config.yml:
services:
myService:
class: Acme\MyBundle\Service\MyClass
arguments: [valueForMyProperty]
最后,在我的控制器中:
$myService = $this -> container -> get('myService');
在该行之后,当我检查$myService
时,我仍然看到$ myService - > $ myProperty as uninitialized。
有些事我没有得到妥善处理。我还需要做些什么来初始化属性并准备好使用config.yml
中之前配置的值?我如何设置多个属性?
答案 0 :(得分:6)
arguments
将传递给您服务的构造函数,因此您应该在那里处理它。
services:
myService:
class: Acme\MyBundle\Service\MyClass
arguments: [valueForMyProperty, otherValue]
和php:
class MyClass{
private $myProperty;
private $otherProperty;
public funciton __construct($property1, $property2){
$this->myProperty = $property1;
$this->otherProperty = $property2;
}
}