Symfony2 - ChoiceType - 在没有 JS 的情况下从 JSON 获取选择列表

Symfony2 - ChoiceType - get choice list from JSON without JS

我有一个包含所有世界语言的 JSON 文件,我想将它们放入 ChoiceType 表单字段内的选择数组中。

$builder->add('languages', ChoiceType::class, array(
    'choices' => array()
))

我的 JSON 文件已存储:projectname/web/bundles/index/json/languages.json

不写JS/AJAX是否可以实现?

P.S. EventListenersSymfony2 提供的其他替代方案很适合我。

您可以使用 DIR 访问该文件,因为我不知道带有生成器的 php 文件位于何处,它可能看起来像:

 $builder->add('languages', ChoiceType::class, array(
        'choices' => json_decode(
            //if builder is in controller, this should work
            file_get_contents(__DIR__.'/../../../web/bundles/index/json/languages.json'),
            true)
    ));