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 :

[FOS UserBundle] MappingException [2.x]


Sujet :

Symfony PHP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [FOS UserBundle] MappingException
    Bonjour a vous tous !

    J'ai suivis ce tutoriel tres bien fait pour l'implementation du FOS UserBundle : http://j-place.developpez.com/tutori...avec-symfony2/

    Tout s'est passe bien, sauf lorsque j'ai vide le cache de Symfo. Maintenant, lorsque j'essai d’accéder a mon application je reçois une erreur "MappingException: Class Luna\UtilisateurBundle\Entity\Utilisateur is not a valid entity or mapped super class."

    J'ai vérifier tout mes fichiers, tout y est définis correctement, de l'autoload aux routes, en passant par le fichier de security.

    Auriez-vous une petites idée pour dépêtrer ?
    Et pourquoi le cache influence tant le développement ?

    J'attends vos réponses, merci

  2. #2
    Inscrit
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 476
    Points
    476
    Par défaut
    Tu peux nous montrer ton entité ?

    Le cache permet à Symfony2 de générer les pages en quelques millisecondes au lieu de quelques secondes :p En fait, même en dev, il ne le régénère pas entièrement. Ce qui fait qu'en cas d'erreur un peu bizarre, il faut toujours vider son cache avant d'y réfléchir.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Salut Winzou

    Je te montre mon Utilisateur Entity

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <?php
    namespace Luna\UtilisateurBundle\Entity;
    use FOS\UserBundle\Entity\User as BaseUser;
    use Doctrine\ORM\Mapping as ORM;
     
    /**
     * @ORM\Entity
     */
    class Utilisateur extends BaseUser
    {
    	/**
    	* @ORM\Id
    	* @ORM\Column(type="integer")
    	* @ORM\generatedValue(strategy="AUTO")
    	*/
    	protected $id;
     
    	public function __construct()
    	{
    		parent::__construct();
    	}
     
        /**
         * Get id
         *
         * @return integer 
         */
        public function getId()
        {
            return $this->id;
        }
    }
    Pour moi ya pas d'erreur

    Le cache permet à Symfony2 de générer les pages en quelques millisecondes au lieu de quelques secondes :p En fait, même en dev, il ne le régénère pas entièrement. Ce qui fait qu'en cas d'erreur un peu bizarre, il faut toujours vider son cache avant d'y réfléchir.
    Oki c'est bien ce qu'il me semblait !
    Mais justement que ca marche AVANT le vidage de cache c'est vraiment bizarre
    J'ai un autre petit soucis, je peux pas vider mon cache avec app/console cache:clear parce que ça me provoque une erreur, je suis obligée de rm -rf mon dossier cache oO (et ca, c'est moche )

  4. #4
    Membre actif
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Points : 259
    Points
    259
    Par défaut


    A mon avis il faut que tu vérifies les droits sur tes fichiers / dossiers.
    A la racine de ton projet (si l'on suppose que tu es en local donc pas de problème de scurité) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chown -R luna:www-data *
    chmod -R g+w *
    Supposant que ton login est luna et ton user www et www-data

    Ca devrait le faire
    "La théorie, c’est quand on sait tout et que rien ne fonctionne. La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne ... et personne ne sait pourquoi !" et malheureusement c'est souvent le cas en Développement...

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Bleys Voir le message


    A mon avis il faut que tu vérifies les droits sur tes fichiers / dossiers.
    A la racine de ton projet (si l'on suppose que tu es en local donc pas de problème de scurité) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chown -R luna:www-data *
    chmod -R g+w *
    Supposant que ton login est luna et ton user www et www-data

    Ca devrait le faire
    ==> Hihi c'est mignon comme solution
    J'ai l'habitude des chown et des chmod, j'ai mes petits alias qui s'occupe déjà de ça et forcement ça n'as rien changé

    J'ai continu d'investiguer en réinitialisant mon Bundle (redef dans le Kernel, Security, Autoload ect ...) maintenant c'est le fichier security qu'il veux plus

    Je vous donne mes deux versions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    security:
        providers:
            fos_userbundle:
                id: fos_user.user_manager
     
        firewalls:
            main:
                pattern:      .*
                form_login:
                    provider:       fos_userbundle
                    login_path:     /Luna/login
                    use_forward:    false
                    check_path:     /Luna/login_check
                    failure_path:   null
    #                Path sur lequel retourne l'utilisateur apres le login
                    default_target_path: /Luna/profile
                logout:
    #              Path sur lequel retourne l'utilisateur apres le logout
                    path:   /Luna/logout
                    target: /Luna/users
                anonymous:    true
     
        role_hierarchy:
            ROLE_ADMIN: ROLE_USER
            ROLE_SUPERADMIN: ROLE_ADMIN
     
        access_control:
            # Liste des pages accessibles à tous les utilisateurs (ne pas toucher)
            - { path: ^/_wdt/, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/_profiler/, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/js/, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/css/, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/login_check$, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/register$, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/resseting$, role: IS_AUTHENTICATED_ANONYMOUSLY }
     
            # PAGES ACCESSIBLES AUX ADMINISTRATEURS
            - { path: ^/admin/, role: ROLE_ADMIN }
     
            # PAGES ACCESSIBLES AUX UTILISATEURS CONNECTES
            - { path: ^/change-password, role: ROLE_USER }
     
            # PAGES ACCESSIBLES A TOUS
            - { path: ^.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
    Et l'autre (PATH différents pour les logins/logout):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    security:
        providers:
            fos_userbundle:
                id: fos_user.user_manager
     
        firewalls:
            main:
                pattern:      .*
                form_login:
                    provider:       fos_userbundle
                    login_path:     /login
                    use_forward:    false
                    check_path:     /login_check
                    failure_path:   null
    #                Path sur lequel retourne l'utilisateur apres le login
                    default_target_path: /profile
                logout:
    #              Path sur lequel retourne l'utilisateur apres le logout
                    path:   /logout
                    target: /users
                anonymous:    true
     
        role_hierarchy:
            ROLE_ADMIN: ROLE_USER
            ROLE_SUPERADMIN: ROLE_ADMIN
     
        access_control:
            # Liste des pages accessibles à tous les utilisateurs (ne pas toucher)
            - { path: ^/_wdt/, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/_profiler/, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/js/, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/css/, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/login_check$, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/register$, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/resseting$, role: IS_AUTHENTICATED_ANONYMOUSLY }
     
            # PAGES ACCESSIBLES AUX ADMINISTRATEURS
            - { path: ^/admin/, role: ROLE_ADMIN }
     
            # PAGES ACCESSIBLES AUX UTILISATEURS CONNECTES
            - { path: ^/change-password, role: ROLE_USER }
     
            # PAGES ACCESSIBLES A TOUS
            - { path: ^.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
    Qui me renvoie une erreur
    MappingException: Class Korum\UtilisateurBundle\Entity\Utilisateur is not a valid entity or mapped super class
    [quote]

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    INFORMAGIQUE QUAND TU NOUS TIENS !!!!!!!!!!!

    Bah ca remarche ...
    C'est tout le dossier cache qui faisait n'importe quoi !!!!

    J'ai pu le réinitialiser en faisant sudo app/console cache:clear qui m'a refait un joli fichier de cache tout propre !!!

    Moralité :
    RM -RF C'EST LE MAL !!!
    A PROSCRIRE D'URGENCE !!!!!!!!!!!!!!!!!!!


    Merci a vous deux

    A fermer

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Bonjour, j'ai eu le même problème mais l'effacement du cache n'a eu aucun influence.

    Par contre une autre solution a marché pour moi :
    * Supprimer le dossier "MonBundle\Resources\config\doctrine"

    Source: http://stackoverflow.com/questions/7...ed-super-class

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [FOS UserBundle] MappingException
    j'ai essayé de supprimer mon cache mais malheureusement le problème reste

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Fos UserBundle / connexion
    Par Tetrax dans le forum Symfony
    Réponses: 4
    Dernier message: 24/09/2014, 19h26
  2. Réponses: 7
    Dernier message: 27/02/2014, 10h29
  3. [2.x] problème Fos Userbundle
    Par developpeur91 dans le forum Symfony
    Réponses: 6
    Dernier message: 04/12/2013, 15h34
  4. Réponses: 4
    Dernier message: 05/05/2013, 21h22
  5. [2.x] FOS userBundle Modification du profil
    Par alexandre92100 dans le forum Symfony
    Réponses: 2
    Dernier message: 27/01/2012, 11h20

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