PHP fatal error : I'm trying to implement a Form\AbstractType in my Symfony2 application

标签 php symfony namespaces

我收到以下错误:

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, and Symfony2 implements FormBuilderInterface for FormBuilder.

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

关于PHP fatal error : I'm trying to implement a Form\AbstractType in my Symfony2 application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11704340/

相关文章:

symfony - 使用MopaBootstrapBundle转储assetic时,出现运行时异常: The filename,目录名,或卷标语法不正确

c++ - 包含在命名空间内

python - 删除模块以清理命名空间?

PHP获取mysql表信息函数

php - PHP 中使用 IN 语句进行 MySQL 查询

mysql - 如果使用 AVG 函数,SQL 查询结果将缩减为单个结果

php - 如何修复yii2中缺少的命名空间

php - 表名的 laravel mysql 列

php - 我如何从网络 Web 服务器在网络客户端上创建文件

css - symfony 2动态更新配色方案