FOSUserBundle未定义方法getName();

时间:2015-08-15 15:49:17

标签: symfony doctrine fosuserbundle

我第一次尝试安装FOSUserBundle。按照步骤操作后,我尝试执行php app/console doctrine:schema:update --force。这给了我以下错误。我无法理解为什么它正在寻找getName(),它没有在网上示例的包中显示。

   PHP Fatal error:  Call to undefined method  music\userBundle\userBundle::getName() in /home/me/public_html/music/app/bootstrap.php.cache on line 2505

我的包裹:

<?php
// src/userBundle/Entity/User.php

namespace userBundle\Entity;

use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 */
class User extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    public function __construct()
    {
        parent::__construct();
        // your own logic
    }

}

2 个答案:

答案 0 :(得分:3)

应用程序的根目录似乎被解释为命名空间。

错误输出说 music \ userBundle :: getName(),但是对您的实体名称调用getName()应为 userBundle \ User :: getName()

我认为您必须使用以下类架构重新构建应用程序:

YourNamespace\UserBundle

所以,你的实体应该成为

YourNamespace\UserBundle\Entity\User 

YourNamespaceUserBundle::User

如果可以,请发布config.yml和security.yml文件

答案 1 :(得分:0)

抱歉,似乎将userBundle命名为错误,因为我手动完成了视频教程,并忘记了扩展部分。

 namespace music\userBundle;

  use Symfony\Component\HttpKernel\Bundle\Bundle;

   class userBundle extends Bundle
  {
  }