次の階層を設定しています。
/src
/application
/models
User.php, Item.php, etc.
/config
/mappings
/yaml
application.models.User.dcm.yml
モデルの名前空間は「application\models」です。それらはすべて「Doctrine\ORM\Mapping AS ORM を使用」します。ブートストラップで Doctrine の ClassLoader を使用しています。これらはすべて機能しているようです。
アプリを実行するたびに、次のエラーが発生します。
Warning: class_parents(): Class User does not exist and could not be loaded in /Library/WebServer/Documents/goodsam/library/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php on line 40
Warning: array_reverse() expects parameter 1 to be array, boolean given in /Library/WebServer/Documents/goodsam/library/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php on line 257
Warning: Invalid argument supplied for foreach() in /Library/WebServer/Documents/goodsam/library/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php on line 257
Fatal error: Uncaught exception 'ReflectionException' with message 'Class User does not exist' in /Library/WebServer/Documents/goodsam/library/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php:73
Stack trace:
#0 /Library/WebServer/Documents/goodsam/library/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php(73): ReflectionClass->__construct('User')
#1 /Library/WebServer/Documents/goodsam/library/Doctrine/ORM/Mapping/ClassMetadataInfo.php(867): Doctrine\Common\Persistence\Mapping\RuntimeReflectionService->getClass('User')
#2 /Library/WebServer/Documents/goodsam/library/Doctrine/ORM/Mapping/ClassMetadataFactory.php(511): Doctrine\ORM\Mapping\ClassMetadataInfo->initializeReflection(Object(Doctrine\Common\Persistence\Mapping\RuntimeReflectionService))
#3 /Library/WebServer/Documents/goodsam/library/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php(300): Doctrine\ORM\Mapping\ClassMetadataFactory->initializeReflection(Object(Doctrine\ORM\Mapping\ClassMetadata), Object(Doctrine\Comm in /Library/WebServer/Documents/goodsam/library/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php on line 73
まず、Doctrine は、yaml マッピング ファイルは完全修飾クラス名でなければならないと言っています。そのため、application\models ディレクトリを指している場所に名前を付けました。ただし、ドキュメントの例では、マッピング ファイル自体を完全に修飾する必要があるように見えます。これはどれですか?
これが私のマッピングファイルの上部です:
# application.models.User.dcm.yml
application\models\User:
これが正しいように見える場合、何が壊れている可能性があるかについての他の手がかりはありますか?