Symfony 3.3 - 启用自动装配后,容器如何知道服务的标签?

时间:2017-11-14 21:52:13

标签: symfony symfony-3.3

我的服务有两个标签,extended_typename

启用自动装配后,如何定义这些标签?

  

编辑:   这是我的课程表格扩展

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.';
    }

}

表单类型扩展服务需要定义两个标记extended_typename

1 个答案:

答案 0 :(得分:1)

从Symfony 3.3开始,如果启用自动配置,则会自动为您应用某些标签twig.extension。 enable autoconfigure不适用于所有标签。许多标记都具有必需的属性,例如事件侦听器,您还需要在标记中指定事件名称和方法。自动配置仅适用于没有任何必需标记属性的标记

在您的情况下,您需要覆盖app/config/service.yml中的服务,并明确定义您的代码:

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