2017-11-14 7 views
2

두 개의 태그, extended_typename이있는 서비스가 있습니다.Symfony 3.3 - 자동 와이어 링이 활성화되었을 때 컨테이너가 서비스의 태그를 어떻게 알 수 있습니까?

autowiring이 활성화되면 어떻게 태그를 정의 할 수 있습니까?

편집 : 이

use Symfony\Component\Form\AbstractTypeExtension; 
use Symfony\Component\Form\Extension\Core\Type\DateTimeType; 
use Symfony\Component\Form\FormInterface; 
use Symfony\Component\Form\FormView; 
class DateTimeTypeExtension extends AbstractTypeExtension 
{ 
    public function getExtendedType() 
    { 
     return DateTimeType::class; 
    } 

    public function buildView(FormView $view, FormInterface $form, array $options) 
    { 
     $view->vars['date_time_help'] = 'Format d-m-Y.'; 
    } 

} 

내 수업의 형태로 확장

입니다 확장 서비스는 자동 구성을 사용하는 경우, 심포니 3.3부터이 개 태그 extended_typename

+0

을 :이 필요한 태그가 귀하의 경우에는

속성없이 자동 구성은, 당신은 app/config/service.yml에서의 sevice를 무시하고 명시 적으로 다음과 같은 태그를 정의 할 필요가 태그 만 작동 당신이하려고하는 것에 대한 더 많은 정보를 담은 질문과 몇 가지 예제 코드. – philosodad

+0

양식 Extension을 만들어야합니다. 그래서 내 서비스는 2 개의 태그 ** 이름 ** 및 ** extended_type ** –

답변

1

를 정의 할 필요가 양식 유형, twig.extension과 같은 태그가 자동으로 적용됩니다. 자동 태그가 모든 태그에서 작동하지 않습니다. 많은 태그에는 이벤트 리스너와 같은 필수 속성이 있으며 태그에서 이벤트 이름과 메서드를 지정해야합니다. 내가이 답변을 쉽게 될 것이라고 생각

AppBundle\Service\YourService: 
     tags: 
      - { name: service1, extended_type: service2 } 
+1

고마워. 따라서 내 서비스를 재정의하지 않고 확장 유형 양식이 작동하지 않습니다. –

+2

실제로 [확장 클래스에서이 정보를 가져 오기위한 공개 PR] (https://github.com/symfony/symfony/pull/24530)이 있습니다. 하지만 Symfony 4.1 이전에는 그렇지 않습니다. – xabbuh