我刚刚将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'; } }
得到下一个错误:
An exception has been thrown during the rendering of a template
(“Could not load type “app_search””) in ….
在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());
它的长短是表单不再被命名,它们由类名引用.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。