2014-02-07 3 views
3

나는 컨트롤러의 구성에 많은 서비스를 추가하려고 시도했다.Symfony 2 컨트롤러에 의존성 삽입

class PersonController extends Controller 
{ 
   public function __construct(UtilityService $Utils) 
   { 
       $this->util = $Utils; 
   } 

   public function indexAction() 
   { 
       ... 
   } 

} 

내가 따라야하는 경로는 무엇입니까? @Cerad로

+0

당신은 [서비스]로 컨트롤러를'PersonController' 정의해야합니다 (http://symfony.com/doc/current/cookbook/를 주입 할 servicem의 이름입니다 controller/service.html) –

답변

1

this post에 언급 :

비결은 서비스와 같은 컨트롤러를 정의한 다음 클래스 이름 대신 서비스 ID를 사용하는 것입니다.

http://symfony.com/doc/current/cookbook/controller/service.html

+1

이것은 완전한 대답이 아니며, –

+1

문서에 대한 링크를 삽입 할 수 없습니다. @Victor에게 공정하지 않아 – ferdynator

+0

미안하지만 다르게 생각된다면 답을 복제하는 요점이 보이지 않습니다. 이것을 고려한다고해서 그가 필요한 것입니다. 명확하고 신속하며 목적에 부합합니다. –

1

당신은 services.yml에 서비스로 PersonController 컨트롤러를 정의하고 UtilityService에 주입해야합니다 person.controller.class

  1. 은 다음과 같습니다

    # src/Acme/HelloBundle/Resources/config/services.yml 
    parameters: 
        # ... 
        person.controller.class: Acme\HelloBundle\Controller\PersonController 
    
    services: 
        person.controller: 
         class: "%person.controller.class%" 
         arguments: ["@UtilityService"] 
    

    컨트롤러 클래스의 이름

  2. 에서
  3. UtilityService