繁体   English   中英

Symfony 3 - 无法加载类型表单类型

[英]Symfony 3 - Could not load type form type

我刚刚将symfony从2.7更新到3.0并且遇到了一些问题..

它无法加载我的表单类型。 这是一个例子。

的services.xml

app.search:
        class: AppBundle\Form\Type\SearchFormType
        tags:
            - { name: form.type, alias: app_search }

多数民众赞成我试图创造形式。

$form = $this->createForm('app_search', new Search());

SearchFormType

namespace AppBundle\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;

class SearchFormType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
    $builder->add('phrase', 'text');
    }

    public function getBlockPrefix()
    {
        return 'app_search';
    }
}

得到下一个错误:

在...中呈现模板(“无法加载类型”app_search“”)期间抛出异常

在symfony 3.0中应该如何?

谢谢 !

您应该将设置更改为..

app.search:
    class: AppBundle\Form\Type\SearchFormType
    tags:
        - { name: form.type }

并在您的表单类型

use Symfony\Component\Form\Extension\Core\Type\TextType;

    // ...
    $builder->add('phrase', TextType::class);

然后叫它用...

$form = $this->createForm(SearchFormType::class, new Search());
// or $form = $this->createForm('AppBundle\Form\Type\SearchFormType', new Search());

它的长短是表单不再被命名,它们由类名引用。

今天我被卡住了大约2个小时。 问题只来自表单类型的命名空间。 而不是使用namespace AppBundle\\Form\\Type; 在您的SearchFormType.php文件中,写入namespace AppBundle\\Form;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM