現在、コードベース内で奇妙なエラーに直面しています。完全なZF2sプロジェクトコードは、私のgithubのここにあります。<-リンクがあります
2つのエンティティ(XとY)でモジュールを設定しています。Entity_Xには、(targetEntity = "Entity_Y")を介したEntity_Yへの参照が含まれています。エラーは、FQCNまたはCN自体で持続します。
Entity_X:
id int PK,
id_Y int FK,
text varchar
Entity_Y:
id int PK,
text varchar
最初にEntity_Yをロードし、次にEntity_Xをロードすると、すべてが正常に機能します。これは、StandardAutoloaderとClassMapAutoloaderの両方に当てはまります。ただし、ClassMapAutoloaderが存在する状態で最初にEntity_Xをロードすると、次のエラーが表示されます。
Fatal error: Cannot redeclare class Kennzahlen\Entity\Referenzwert (Entity_Y)
in \module\Kennzahlen\src\Kennzahlen\Entity\Referenzwert.php
on line 13
StandardAutoloaderを使用して最初にEntity_Xをロードしても、問題なく機能します。
アップデート
問題は、ZF2のClassMapAutoloader(またはAutoloading-Mechanism一般)内にあるようです。私のモジュールはClassMapAutoloaderを使用しましたが、これを使用すると上記のエラーが発生しました。ClassMapAutoloaderを削除し、単にStandardAutoloaderを使用すると、エラーは空中に消えました。@ocramiusと他のすべての人に感謝します:)