IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

FosUserBundle et SonataAdminBundle : quel est le UserBundle à utiliser ?


Sujet :

Symfony PHP

  1. #1
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2012
    Messages : 46
    Points : 205
    Points
    205
    Par défaut FosUserBundle et SonataAdminBundle : quel est le UserBundle à utiliser ?
    Bonjour,

    J'ai configuré FosUserBundle. Ma version de Symfony est la 2.5.2.

    J'ai donc créé un UserBundle dans mon namespace. Tout fonctionne.

    Je souhaite maintenant ajouter SonataAdminBundle, en suivant ce tuto (en anglais, désolé). J'utilise Composer et je rencontre un conflit concernant FosUserBundle car SonataUserBundle veut l'installer alors que je l'ai déjà fait. Je suis parvenu à corriger ce problème en supprimant le FosUserBundle que j'avais mis du fichier composer.json et qui est donc désormais installé via Sonata.

    Mais une question m'est venue : comme j'ai défini mon propre UserBundle, ai-je réellement besoin du SonataUserBundle ? En effet il est indiqué dans le tuto Sonata que l'on peut spécifier le UserBundle de son choix, en l'occurrence mon NamepsaceUserBundle ?

    Cela consisterait à remplacer l'entité à utiliser dans le fichier app/config/config.yml sur la ligne user_class :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    # app/config/config.yml
    fos_user:
         db_driver: orm
         firewall_name: main
         user_class: Application\Sonata\UserBundle\Entity\User
    par l'entité de mon UserBundle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    # app/config/config.yml
    fos_user:
         db_driver: orm
         firewall_name: main
         user_class: Monnamespace\UserBundle\Entity\User
    Ai-je bien tout compris ? Sinon quelle est la bonne méthode pour lier FOSUB et Sonata ?

    Merci d'avance

  2. #2
    Membre habitué
    Ingénieur d'études et de développement
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur d'études et de développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Points : 154
    Points
    154
    Par défaut
    Bonjour,

    Voici comment j'ai fait cohabiter FOSUser et SonataUser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    fos_user:
        db_driver:      orm 
        firewall_name:  admin
        user_class:     WF\Sonata\UserBundle\Entity\User   #ma classe perso
     
        group:
            group_class: WF\Sonata\UserBundle\Entity\Group #ma classe perso

    J'ai un WFSonataUserBundle qui a comme parent SonataUserBundle qui a comme parent FOSUserBundle

    et dans mon composer


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    "sonata-project/admin-bundle": "2.2.*",
            "sonata-project/doctrine-orm-admin-bundle": "2.2.*",
            "sonata-project/core-bundle": "2.2.*",
            "sonata-project/user-bundle": "2.2.*",
            "sonata-project/intl-bundle": "~2.1",

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2012
    Messages : 46
    Points : 205
    Points
    205
    Par défaut Pas tout bien compris
    Bonjour et merci pour la réponse mais je ne saisis toujours pas très bien le paramétrage nécessaire pour utiliser à la fois FosUserBundler et SonataAdminBundle.

    Je rappelle le fonctionnement que je souhaite (classique mais autant être bien précis) :
    • Un site avec une partie front-office comprenant un espace membres, et une partie back-office
    • Une seule table MySql nommée "utilisateurs" pour les différents rôles : membres et admin
    • La partie espace membres côté front est gérée via FosUserBundle
    • La partie back-office gérée via Sonata


    Ce que j'ai mis en place jusqu'ici : comme indiqué dans mon premier post, j'ai créé un NamespaceUserBundle étendant FosUserBundle pour la partie espace membres du front. Ce que je ne comprends pas bien et où les tutos ne sont pas trop précis, c'est pour Sonata :

    Option 1 : étendre SonataUserBundle, selon la doc officielle, c'est-à-dire création d'un second NamspaceUserBundle perso dérivé de Sonata qui utilise ma table "utilisateurs", et dans ce cas zapper le premier NamespaceUserBundle perso dérivé de FosUserBundle (mais à garder pour faire fonctionner l'authentification côté front) ?

    Option 2 : zapper SonataUserBundle et dériver directement FosUserBundle come je lm'ai fait, mais dans ce cas je ne trouve nulle part le bon paramétrage (peut-être parce que ce n'est pas la bonne option tout simplement ?)

    Merci d'avance

Discussions similaires

  1. Quel est le langage utilise SVP ?
    Par GWENN-Ha-DU dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/05/2013, 11h31
  2. Réponses: 6
    Dernier message: 26/12/2012, 18h03
  3. Réponses: 7
    Dernier message: 20/05/2010, 17h04
  4. Réponses: 1
    Dernier message: 20/01/2010, 11h09
  5. Quel est le meilleur moyen d'utiliser uns base MySQL
    Par netah25 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/12/2005, 08h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo