5

ZF2クイックスタートをDoctrineで動作させようとしています。正しく設定されていると思いましたが、次のようなエラーが発生します。誰か見たことがありますか?

ファイル:/Users/jhicks/workspace/zf2-example/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php:38メッセージ:クラス「Album \ Entity\Album」がチェーン構成された名前空間ZfcUser\Entity、\ Entity、ZfcUserDoctrineORM \ Entity

これが私のDoctrine設定です:

return array(
    'doctrine' => array(
        'driver' => array(
            __NAMESPACE__ . '_driver' => array(
                'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
                'cache' => 'array',
                'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity')
            ),
            'orm_default' => array(
                'drivers' => array(
                    __NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
                )
            )
        ),
        'connection' => array(
            'orm_default' => array(
                'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
                'params' => array(
                    'host'     => 'localhost',
                    'port'     => '3306',
                    'dbname'   => 'zf2example',
                    'user'     => 'user',
                    'password' => 'password'
                ),  
            )
        )
    ),
);
4

1 に答える 1

9

例外メッセージのエンティティ名前空間のリストをよく見ると...

ZfcUser\Entity, \Entity, ZfcUserDoctrineORM\Entity
-------------------^

そのうちの 1 つが\Entity. これは、どこかの PHP 構成ファイル (つまりconfig/autoload、モジュール内のファイルまたはモジュールのconfig/module.config.phpファイル) でエンティティの名前空間を構成しており、既定ではこれらのファイルに名前空間がないためです。構成ファイルの先頭に 1 つ追加してみてください。

<?php
namespace Album;

私のローカルテストでは、これで問題が解決しました。

于 2012-10-25T14:28:16.527 に答える