Je suis actuellement confronté à une erreur étrange dans mon code. Vous pouvez voir le code complet du projet ZF2s sur my github right here. < - il y a un lienErreur de redeclaration de classe sur targetEntity = "Y" dans ZF2
J'ai un module configuré avec deux entités (X et Y). Entity_X contient une référence à Entity_Y via (targetEntity = "Entity_Y"). L'erreur persiste avec le FQCN ou seulement le CN lui-même.
Entity_X:
id int PK,
id_Y int FK,
text varchar
Entity_Y:
id int PK,
text varchar
Lors du chargement d'Entity_Y en premier, puis d'Entity_X, tout fonctionne correctement. Cela reste vrai pour StandardAutoloader et ClassMapAutoloader. Cependant: lors du chargement Entity_X d'abord avec ClassMapAutoloader présent, je vais voir l'erreur suivante:
Fatal error: Cannot redeclare class Kennzahlen\Entity\Referenzwert (Entity_Y)
in \module\Kennzahlen\src\Kennzahlen\Entity\Referenzwert.php
on line 13
Chargement Entity_X d'abord avec StandardAutoloader fonctionne sans aucun problème, aussi.
Mise à jour
Le problème semble être dans ZF2s ClassMapAutoloader (ou Autochargement-mécanisme général). Mon module a utilisé le ClassMapAutoloader et en utilisant ce que j'ai eu l'erreur mentionnée ci-dessus. Lors du retrait du ClassMapAutoloader et de l'utilisation de l'utilitaire StandardAutoloader, l'erreur s'est dissipée. Merci à @ocramius et tous les autres que j'ai botheres avec ce :)
Je vais avoir le même problème, sauf qu'il n'apparaît lorsque je tente de charger une entité d'une action du contrôleur CLI. Appeler la même méthode de mappeur à partir d'une action de contrôleur HTTP fonctionne correctement. https://gist.github.com/017c56ac2ae7553a7ca5 –