Symfony FOSUserBundle不能实例化抽象类FOSUserBundleModelUser


Symfony FOSUserBundle Cannot instantiate abstract class FOSUserBundleModelUser

我有一个新安装的Symfony 2.4 + FOSUserBundle。我刚刚配置了FOSUserBundle,这个指南:https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/index.md

现在我尝试用CLI

创建一个新用户
fos:user:create --super-admin user user@domain.com password1

我得到这个错误

PHP Fatal error:  Cannot instantiate abstract class FOS'UserBundle'Model'User in /var/www/symfony2/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Model/UserManager.php on line 55

config.ylm

...
fos_user:
    db_driver: propel
    firewall_name: main
    user_class: FOS'UserBundle'Model'User
...

当访问/register我得到相同的错误,但/login似乎工作正常(虽然我不能登录,因为我没有用户)

任何想法?提前感谢

编辑:

new user class:

namespace g9'BoBundle'Model;
use FOS'UserBundle'Model'User as MyUser;
use FOS'UserBundle'Model'UserInterface;
use FOS'UserBundle'Model'UserManager;
class User extends MyUser {
    # .. no code here yet
}

当我使用CLI创建用户时,我得到:

  [InvalidArgumentException]
  This user instance is not supported by the Propel UserManager implementation

我应该提交另一个问题吗?(最初的问题有了答案

您不能使用提供的用户模型,您必须扩展它并创建您自己的。

当你这样做的时候,设置user_class配置参数为你的用户模型的命名空间(它扩展了FOSUser的模型)。

目前,您的user_class被设置为他们的抽象User,因此它中断了