我有一个带有 Doctrine 2 的 ZF2 2.1.3 应用程序。
我使用作曲家安装:
"zendframework/zendframework": "2.*"
,"doctrine/doctrine-orm-module": "dev-master"
A 创建一个config/autoload/database.local.php
包含以下内容的文件:
return array(
'doctrine' => array(
'connection' => array(
// Default connection name
'orm_default' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
'host' => 'localhost',
'port' => '3306',
'dbname' => 'zf2-experimental',
'user' => 'root',
'password' => '',
),
),
),
),
);
我在模块 ( )Bar
下创建我的实体并像这样配置它:Foo
src/Business/Entity/Bar.php
module.config.php
'doctrine' => array(
'driver' => array(
__NAMESPACE__ . '_driver' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Business/Entity'),
),
'orm_default' => array(
'drivers' => array(
__NAMESPACE__ . '\Business\Entity' => __NAMESPACE__ . '_driver',
),
),
),
),
好的!正是山姆在这里说的!
然后我创建一个简单的Foo
实体并运行学说 cli 工具:
c:\wamp\www\zf2-Experimental>.\vendor\bin\doctrine-module.bat orm:validate-schema
[Mapping] OK - The mapping files are correct.
[PDOException]
SQLSTATE[28000] [1045] Access denied for user 'username'@'localhost' (using password: YES)
orm:validate-schema
c:\wamp\www\zf2-Experimental>
看起来 cli 工具可以在我的config/autoload/database.local.php
!
在应用程序索引上,我测试了我的配置:
$config = $this->getServiceLocator()->get('config');
\Zend\Debug\Debug::dump($config['doctrine']['connection']['orm_default']);
这又回来了:
array (size=4)
'configuration' => string 'orm_default' (length=11)
'eventmanager' => string 'orm_default' (length=11)
'params' =>
array (size=5)
'host' => string 'localhost' (length=9)
'port' => string '3306' (length=4)
'user' => string 'root' (length=4)
'password' => string '' (length=0)
'dbname' => string 'zf2-experimental' (length=16)
'driverClass' => string 'Doctrine\DBAL\Driver\PDOMySql\Driver' (length=36)
有人可以请帮助我吗?:) 谢谢大家!