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

Doctrine2 PHP Discussion :

Espaces de noms inconnus


Sujet :

Doctrine2 PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut Espaces de noms inconnus
    Salut,

    Alors, je précise que la version est celle qui provient de git qui est plus avancée que la PR6. Le problème suivant n’était pas présent en PR6 et l'est maintenant que ce soit avec le repository sandbox ou symfony.

    Des que je tente une utilisation d'une entité, j'ai une erreur d'acces a l entité. Cela se produit dans un bundle perso ou même le HelloBundle.

    En faisant bêtement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            $id = 1;
            $em = $this->get('doctrine.orm.entity_manager');
            $user = $em->find('HelloBundle:Users', $id);
    J'obtiens l'erreur:
    Unknown Entity namespace alias 'HelloBundle'.
    500 Internal Server Error - ORMException
    Stack Trace
    in C:\apache2\data\Symfony2\vendor\doctrine\lib\Doctrine\ORM\ORMException.php line 114 »
    at ORMException::unknownEntityNamespace('HelloBundle')
    in C:\apache2\data\Symfony2\vendor\doctrine\lib\Doctrine\ORM\Configuration.php line 150 »
    at Configuration->getEntityNamespace('HelloBundle')
    in C:\apache2\data\Symfony2\vendor\doctrine\lib\Doctrine\ORM\Mapping\ClassMetadataFactory.php line 156 »
    at ClassMetadataFactory->getMetadataFor('HelloBundle:Users')
    in C:\apache2\data\Symfony2\vendor\doctrine\lib\Doctrine\ORM\EntityManager.php line 248 »
    at EntityManager->getClassMetadata('HelloBundle:Users')
    in C:\apache2\data\Symfony2\vendor\doctrine\lib\Doctrine\ORM\EntityManager.php line 564 »
    at EntityManager->getRepository('HelloBundle:Users')
    in C:\apache2\data\Symfony2\vendor\doctrine\lib\Doctrine\ORM\EntityManager.php line 341 »
    at EntityManager->find('HelloBundle:Users', '1')
    in C:\apache2\data\Symfony2\src\Sensio\HelloBundle\Controller\HelloController.php line 15 »
    at HelloController->indexAction('toi')
    at call_user_func_array(array(object(HelloController), 'indexAction'), array('toi'))
    in C:\apache2\data\Symfony2\app\bootstrap.php line 413 »
    at HttpKernel->handleRaw(object(Request), '1')
    in C:\apache2\data\Symfony2\app\bootstrap.php line 383 »
    at HttpKernel->handle(object(Request), '1', true)
    in C:\apache2\data\Symfony2\vendor\symfony\src\Symfony\Bundle\FrameworkBundle\HttpKernel.php line 39 »
    at HttpKernel->handle(object(Request), '1', true)
    in C:\apache2\data\Symfony2\app\bootstrap.php line 560 »
    at Kernel->handle(object(Request))
    in C:\apache2\data\Symfony2\web\app_dev.php line 15 »

    J'ai aussi tenté de placer la classe en entier plutot que le raccourci "HelloBundle:Users".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $user = $em->find('Sensio\HelloBundle\Entity\Users', $id);
    \

    Class Sensio\HelloBundle\Entity\Users is not a valid entity or mapped super class.
    Symfony trouve HelloBundle sans probleme mais pour Doctrine, nada!
    La config est celle suivie ici : http://docs.symfony-reloaded.org/master/ qui correspond à la derniere version de Symfony.
    Un petit si la réponse convient. Merci.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut
    Trouvé!
    J'ai pris mon courage à deux mains en me plongeant dans le code du DoctrineBundle et en fait, les instructions du mapping dans ma configuration doit se trouver dans l'entity manager... et pas sous "orm".

    Comme ceci:

    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
    ## Doctrine Configuration
    doctrine:
        dbal:
            connections:
                default:
                    driver:   pdo_mysql
                    dbname:   symfony2
                    user:     root
                    password: toto
                    host:     localhost
        orm:
            default_entity_manager: default
            entity_managers:
                default:
                    connection: default
                    mappings:
                        UserBundle: ~
    En y réfléchissant, c'était la seule issue possible.
    En espérant que d'autres y gagnent du temps
    Un petit si la réponse convient. Merci.

  3. #3
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Je pense que l'on va encore un peu attendre avant d'écrire quoi que cela soit qui ressemble à un tutoriel...
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

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

Discussions similaires

  1. [XSL] problème avec copy espace de nom
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 11/10/2005, 15h18
  2. [d6][expert WSDL] problème d'espace de nom.
    Par tchup dans le forum Web & réseau
    Réponses: 1
    Dernier message: 01/09/2005, 14h46
  3. Supprimer les espaces des noms de fichier
    Par Cathy dans le forum Linux
    Réponses: 20
    Dernier message: 04/08/2005, 17h13
  4. [typedef] protection à travers les espaces de noms
    Par PINGOUIN_GEANT dans le forum C++
    Réponses: 7
    Dernier message: 02/02/2005, 20h21

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