2014-01-08 2 views
0

controller (Symfony\Bundle\FrameworkBundle\Controller\Controller)을 확장하고 차례로 ContainerAware (Symfony\Component\DependencyInjection\ContainerAware)까지 확장하는 맞춤 컨트롤러가 있습니다.
내 모든 기능에서 나는 사용하고있다.Symfony 컨트롤러 - 속성 추가하기

$foo = $this->get('foo'); 

그래서 제 수업을 구성 할 수 있기를 원합니다.

<?php 
class FooController extends Controller 
{ 
    private $fooManager; 

    function indexAction() 
    { 
     // ... 
     $this->fooManager->getAllFoo($scope); 
     // ... 
    } 
} 

ContainerAwaresetContainer(ContainerInterface $container = null) 기능에 컨테이너를 설정대로 작동하지 않습니다 내 사용자 정의 클래스에 생성자를 추가.
컨트롤러에서이 기능을 무시하려고 시도했지만 여전히 좋지는 않습니다.

어떻게 구현하나요?

답변

2

이 찾고있다 - http://symfony.com/doc/current/cookbook/controller/service.html

당신은 서비스로 컨트롤러를 정의하고 dependecys와 생성자의 클래스를 주입해야합니다. setContainer 메소드 (서비스 구성에서 수행 할 수 있음)를 호출해야하기 때문에 컨테이너 인식을 사용하는 것이 어려울 것입니다.

안부, Piotr