2011-10-04 4 views

답변

12

FormType 클래스를 생성했다고 가정 해 보겠습니다. 이 객체에 컨테이너를 전달하는 방법을 알지 못합니다.

는 지금 자신의 유형은 FormType에서 연장 FormType 대신,

이제
mytype: 
    class: ...\MyType 
    arguments: ["@service_container"] 
    tags: 
     - { name: form.type } 

새로운 유형의 정의, 당신의 config.yml에서 생성자

class MyType extends FormType 
{ 
    private $container; 

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

을 사용합니다 MyType을 컨테이너를 통과 만들기 모든 컨트롤러에

+1

MyType에서 확장되는 양식 클래스는 어떻게됩니까? 나는 그들을 일하게 만들 수 없다. 내가 가지고있는 것 : "인수 1은 Makrosoft \ UtilesBundle \ Utiles \ MyType :: __ construct()는 Symfony \ Component \ DependencyInjection \ ContainerInterface의 인스턴스 여야합니다. 주어진 것은 없습니다 ..." –

1

아마도 컨트롤러에서 User 객체를 요청하고이를 생성자의 저장소로 전달할 수 있습니까?

+0

리포지토리는 Type의 buildform으로 생성되며이 함수는 정적 호출이므로이 방법을 사용할 수 없습니다. –