本文介绍了在symfony2中创建自定义表单类型:无法覆盖buildView()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在symfony2中创建一个自定义表单类型.但是每次我尝试覆盖buildForm()方法时,都会出现此错误:
I am creating a custom form type in symfony2. But every time I try to overwrite the buildForm() method I get this error:
我当然知道这意味着什么.我什至从提到的界面复制了方法签名.还是一样.这是我的课程:
Of course I understand what this means. I even copied the method signature from the mentioned interface. Still the same. This is my class:
namespace SeduceMe\SiteBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class UniFormTextType extends AbstractType
{
public function getDefaultOptions(array $options)
{
return array('placeholder' => null);
}
public function getParent(array $options)
{
return 'text';
}
public function getName()
{
return 'UniFormText';
}
public function buildForm(FormBuilder $builder, array $options)
{
$builder->setAttribute('placeholder', $options['placeholder']);
}
public function buildView(FormView $view, FormInterface $form)
{
$view->set('placeholder', $form->getAttribute('placeholder'));
}
}
推荐答案
需要为FormView和FormInterface添加use语句.
Need to add use statements for FormView and FormInterface.
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
use Symfony\Component\Form\FormView;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormError;
use Symfony\Component\Form\CallbackValidator;
use Symfony\Component\Form\FormValidatorInterface;
这篇关于在symfony2中创建自定义表单类型:无法覆盖buildView()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!