尝试构建表单时,我收到此错误:



我已经注册了 FormServiceProvider、TranslationServicerProvider 和 ValidatorServiceProvider。

这是我的代码的相关部分:

        $this->_form = $this->_app['form.factory']->createBuilder('form', $this->_map())
        ->add('firstName', 'text', [
            'constraints' => [new Assert\NotBlank()]
        ])
        ->add('lastName', 'text', [
            'constraints' => [new Assert\NotBlank()]
        ])
        ->add('email', 'text', [
            'constraints' => [new Assert\Email()]
        ])
        ->getForm();

以下是我正在使用的相关组件的版本号:



我能够在以前版本的 Silex 中成功地做到这一点;有东西坏了还是我错过了什么?

最佳答案

似乎最新版本的 Silex 不适用于 Symfony Forms v3
要使其工作,请将 Composer 文件中的 requires 替换为:

{
    "require": {
        "silex/silex": "^1.3",
        "symfony/form": "~2.3",
        "symfony/security-csrf": "~2.3"
    }
}

关于php - 使用 Symfony3 组件时 Silex FormServiceProvider 无法加载类型 "form",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34663227/

10-15 16:17