我有一个新安装的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
,因此它中断了