PHP致命错误:I';我正试图在我的Symfony2应用程序中实现FormAbstractType


PHP Fatal error: I'm trying to implement a FormAbstractType in my Symfony2 application

我得到以下错误:

Fatal error: Declaration of Bean'OauthServerBundle'Form'Type'AuthorizeFormType::buildForm() must be compatible with Symfony'Component'Form'FormTypeInterface::buildForm(Symfony'Component'Form'FormBuilderInterface $builder, array $options) in src/Bean/OauthServerBundle/Form/Type/AuthorizeFormType.php on line 25

不确定我为什么会出现此错误。AbstractType::buildForm()采用FormBuilderInterface,Symfony2为FormBuilder实现FormBuilderInterface。

以下是我的内容来源:

<?php
namespace Bean'OauthServerBundle'Form'Type;
use Symfony'Component'Form'FormBuilder;
use Symfony'Component'Form'AbstractType;
class AuthorizeFormType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        /* some code ... */
   }
   /* more code ... */
}

FormBuilderInterface,Symfony2为FormBuilder实现了FormBuilderInterface。

这并没有改变这样一个事实,即buildForm必须声明为父类,并接受任何实现FormBuilderInterface的对象。

所以symfony书中的代码应该是这样的:

namespace Bean'OauthServerBundle'Form'Type;
use Symfony'Component'Form'FormBuilderInterface;
use Symfony'Component'Form'AbstractType;
class AuthorizeFormType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        /* some code ... */
   }
   /* more code ... */
}

这就是你的意思吗?