【问题标题】:Symfony2 FormType to JSONSymfony2 FormType 转 JSON
【发布时间】:2014-11-12 08:11:58
【问题描述】:

是否有可能以某种方式将 Symfony2 FormType 序列化为 JSON?我有以下用户表单类型。

class UserType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('name', 'text', array('label' => 'Name'))
            ->add('surname', 'text', array('label' => 'Surname'))
            ->add('username', 'text', array('label' => 'Username'))
            ->add('email', 'text', array('label' => 'Email'))
            ->add('isAdmin', 'checkbox', array('label' => 'Admin'));
    }
    ...
}

是否可以使用 Symfony2 本身获得以下或类似的 JSON 格式,或者我需要我的自定义解析器?

{
    "name": {
        "type": "text",
        "label": "Name"
    },
    "surname": { 
        "type": "text",
        "label": "Surname"
    },
    "username": {
        "type": "text",
        "label": "Username"
    },
    "email": {
        "type":"text",
        "label":"Email"
    },
    "isAdmin": {
        "type": "checkbox",
        "label" : "Admin"
     }
}

【问题讨论】:

    标签: php json symfony


    【解决方案1】:

    看起来您可能正在寻找类似 @​​987654321@ 的东西,它允许您从 Symfony 表单生成 JSON Schema。

    【讨论】:

      【解决方案2】:

      您可以实现一个表单主题,以任何您想要的方式输出您的小部件。这是一个link to Symfony documentation,它解释了如何创建和应用表单主题。

      但是,如果您正在实现 API(否则为什么需要将表单作为 JSON 获取?),您绝对应该看看 FOSRestBundle,因为它实现了表单处理和序列化。

      【讨论】:

        猜你喜欢
        • 2015-11-05
        • 1970-01-01
        • 2016-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-10
        • 2012-12-01
        • 1970-01-01
        相关资源
        最近更新 更多