Symfony/SonataUser - ошибка с абстрактным методом BaseUser

Я пытаюсь установить SonataUserBundle, поэтому я следовал документации (и использую EasyExtendBundle, но я получаю эту ошибку:

[Symfony\Component\Debug\Exception\FatalErrorException]                                              
  Error: Class Sonata\UserBundle\Entity\BaseUser contains 35 abstract methods and must therefore be declared abstract
   or implement the remaining methods (FOS\UserBundle\Model\UserInterface::setUsername, FOS\UserBundle\Model\UserInte
  rface::getUsernameCanonical, FOS\UserBundle\Model\UserInterface::setUsernameCanonical, ...) 

Я ничего не изменил из сущности User, сгенерированной EasyExtends...

Конфиг выглядит хорошо:

fos_user:
    db_driver: orm
    firewall_name: main
    user_class: Application\Sonata\UserBundle\Entity\User
    group:
        group_class: Application\Sonata\UserBundle\Entity\Group 
        group_manager: sonata.user.orm.group_manager
    service:
        user_manager: sonata.user.orm.user_manager

Мой композитор:

"symfony/symfony": "2.8.*",
...
"friendsofsymfony/user-bundle": "~1.3",
"sonata-project/admin-bundle": "~2.2",
"sonata-project/doctrine-orm-admin-bundle": "~2.3",
"sonata-project/user-bundle": "^2.2",

У кого-нибудь было решение для этого?

Спасибо за помощь!

3 ответа

Решение

Наконец, я начинаю с нового проекта и использую https://github.com/sonata-project/sandbox качестве базы (Мой проект будет использовать некоторые другие проекты сонаты)

Так что, вероятно, неправильная конфигурация...

Я полагаю, что это проблема версии между sonata и friendsofsymfony. Мой composer.json такой

"sonata-project/easy-extends-bundle": "^2.1",
"sonata-project/user-bundle": "^2.2"
"friendsofsymfony/user-bundle": "^1.3",
"friendsofsymfony/jsrouting-bundle": "^1.6"

Может быть, если у нас могут быть соответствующие версии...

Конфигурация для fos_user неверна... вы должны использовать сущность пространства имен Sonata... а не сгенерированную в пространстве имен приложения

fos_user:
    db_driver:      orm # can be orm or odm
    firewall_name:  main
    user_class:     Sonata\UserBundle\Entity\BaseUser


group:
    group_class:   Sonata\UserBundle\Entity\BaseGroup

обратите внимание, что user_class и group_class ссылаются на документы BaseEntity Sonata

Другие вопросы по тегам