当前位置:  开发笔记 > Android > 正文

Symfony 2.8/3.0升级:如何处理带有可变参数的表单类型?

如何解决《Symfony2.8/3.0升级:如何处理带有可变参数的表单类型?》经验,为你挑选了0个好方法。

假设我将自定义表单类型创建为服务,如Symfony文档中所述.但我想要2个"性别"自定义类型,有2个不同的输入参数,我在Symfony 2.7中这样做:

# app/config/config.yml
parameters:
    genders1:
        m: Male
        f: Female
    genders2: # This makes no sense at all, but it is for the example purpose!
        h: Horse
        t: Turtle

然后,我宣布了两个这样的服务:



    %genders1%
    



    %genders2%
    

正如您所看到的,我使用相同的 GenderType类来处理2种自定义表单类型(使用gender1gender2别名),我可以这样使用:

$builder
    ->add('field1', 'gender1')
    ->add('field2', 'gender2');

这允许我在一个GenderType具有不同输入参数的类()中添加一些公共逻辑(在这个例子中我有比2更多的可能性).

但是从Symfony 2.8开始,不推荐使用服务别名添加字段.类名必须作为第二个参数传递,如下所示:

$builder->add('field1', GenderType::class)

那么如何才能区分我的2个服务(每个服务都没有相同的输入参数)?

创建Gender1TypeGender2Type扩展抽象GenderType类会非常痛苦,因为我必须创建大量具有空内容的类.

您是否知道如何在Symfony 2.8中实现我的模式,保持服务具有不同的输入参数,但不创建很多类?

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有