我正在尝试使ZF2快速开始使用学说。我以为我已经正确设置了它,但是我会遇到以下错误。有人看过吗?
文件: /users/jhicks/workspace/zf2-example/vendor/doctrine/common/lib/doctrine/common/persistence/mapping/mappingexpection.php:38 信息: 在链条配置的名称空间Zfcuser Entity, Entity,ZfcuserDoctrineorm Entity
这是我的学说配置:
return array(
'doctrine' => array(
'driver' => array(
__NAMESPACE__ . '_driver' => array(
'class' => 'DoctrineORMMappingDriverAnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity')
),
'orm_default' => array(
'drivers' => array(
__NAMESPACE__ . 'Entity' => __NAMESPACE__ . '_driver'
)
)
),
'connection' => array(
'orm_default' => array(
'driverClass' => 'DoctrineDBALDriverPDOMySqlDriver',
'params' => array(
'host' => 'localhost',
'port' => '3306',
'dbname' => 'zf2example',
'user' => 'user',
'password' => 'password'
),
)
)
),
);
如果您仔细查看异常消息中的实体名称空间列表...
ZfcUserEntity, Entity, ZfcUserDoctrineORMEntity
-------------------^
您会注意到其中一个只是Entity
。这是由于您在某个地方的PHP配置文件中配置了实体名称空间(即config/autoload
中的文件或模块的config/module.config.php
文件),并且默认情况下这些文件没有名称空间。尝试将一个添加到配置文件的顶部:
<?php
namespace Album;
在我的本地测试中,这解决了问题。