我正在尝试嵌入表单集合,如此处所示 - http://symfony.com/doc/current/cookbook/form/form_collections.html
我几乎从那里重写代码,但我遇到了两个问题:
FatalErrorException: Compile Error: Declaration of MyBundle\Form\Type\ExpenseType::setDefaultOptions() must be compatible with that of Symfony\Component\Form\FormTypeInterface::setDefaultOptions() in MyBundle\Form\Type\ExpenseType.php line 33
form_start()函数不存在。
您对如何解决第一个问题有什么想法吗?没有任何帮助:(
P.S。我没有添加任何代码,因为它与书中的相同,我只更改了名称(或者至少我认为是这样),如果需要,我会添加任何代码。
ExpenseType.php
<?php
namespace MyBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class ExpenseType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('name', 'text',array(
'label' => ' '));
$builder->add('description', 'textarea',array(
'label' => ' '));
$builder->add('expenseVariants', 'collection', array('type' => new ExpenseVairantType()));
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'MyBundle\Entity\Expense',
));
}
public function getName()
{
return 'expense';
}
}
答案 0 :(得分:18)
你错过了
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
来自您的进口。