2012-10-27 6 views
1

symfony2를 사용하여 일반 작업을 수행하기 위해 서비스를 만들고 사용하려면 다음을 따르십시오 : this documentation. .Symfony2를 사용하여 서비스 만들기

나는 그것이 거의 다 가지고,하지만 난 때문에 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가 초기화되지 않은 것으로 표시됩니다.

내가 제대로 듣지 못하는 것이 있습니다. 속성을 초기화하고 config.yml에 이전에 구성된 값과 함께 사용할 준비가 되려면 그 밖의 무엇을해야합니까? 그리고 어떻게 하나 이상의 속성을 설정할 수 있습니까?

답변

5

arguments은 ym 파일에서 생성자에게 전달되므로 사용자가 처리해야합니다.

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; 
    } 
} 
+0

을했다! : D 조 감사합니다 :) – ElPiter

관련 문제