我是从阿根廷写信的,请原谅我的英文。我在模块ZfcUserzfcuserDoctrineORM上遇到了一些问题。我需要将它们集成到我的项目中。我正在使用Zend framework 2,doction 2.3和postgreSQL,这是我第一次使用这些工具。因此,我无法很好地控制很多事情,我的/config/application.config.php中包含了所有模块,并且我的连接在数据库中的/config/autoload/local.php中进行了配置

Local.php


返回数组(
'教义'=> array(
'连接'=>数组(
'orm_default'=>数组(
'driverClass'=>'Doctrine \ DBAL \ Driver \ PDOPgSql \ Driver',
'params'=>数组(
'主机'=>'本地主机',
'端口'=>'5432',
'用户'=>'postgres',
'password'=>'postgres',
'dbname'=>'ministerio',



),
);



application.config.php


返回数组(
'模块'=>数组(
'应用',
“ DoctrineModule”,
'DoctrineORMModule',
'Reeser',//我的模块名称
'ZfcBase',
'ZfcUser',
“ ZfcUserDoctrineORM”,

),
'module_listener_options'=>数组(
'config_glob_paths'=>数组(
'config / autoload / {,*。} {global,local} .php',
),
'module_paths'=>数组(
'./模块',
'./供应商',
),
),
);



为了映射数据库,我使用了带有学说的注释,并且在模块中生成了自己的实体用户。

我在自动加载目录中添加了配置档案zfcuser.global.phpzfcuserdoctrineorm.global.php,但是我不知道如何配置它们,以便档案可以识别我的实体。

进入zfcuser.global.php

'zend_db_adapter'=>'Zend \ Db \ Adapter \ Adapter',//应该对此进行注释吗?

'user_entity_class'=>'Reeser \ Entity \ User',

'login_redirect_route'=>'Reeser / index / index.phtml',

返回数组(
'zfcuser'=> $ settings,//如何配置此代码?
'service_manager'=>数组(
'别名'=>数组(
'zfcuser_zend_db_adapter'=>(isset($ settings ['zend_db_adapter']))吗?
$ settings ['zend_db_adapter']:'Zend \ Db \ Adapter \ Adapter',
),
),
);



进入zfcuserdoctrineorm.global.php

返回数组(
'教义'=> array(
'驱动程序'=>数组(
'zfcuser_driver'=>数组(
'class'=>'Doctrine \ ORM \ Mapping \ Driver \ AnnotationDriver',
'缓存'=>'数组',
'路径'=>数组(__DIR__。'/ .. / src / Reeser / Entity')
),

'orm_default'=>数组(
'drivers'=>数组(
'ZfcUser \ Entity'=>'zfcuser_driver'



),
);



我看到模块zfcuserDoctrineORM可用于XML。
该模块可以适应注释的使用吗?如果可能,我如何使我的实体用户适应此模块?我应该修改哪些档案?

最佳答案

您无需调整ZfcUserDoctrineORM即可使用注释映射。 DoctrineORMModule本机支持混合映射(由您决定要映射哪个实体与哪个驱动程序映射)。关于ZfcUser的配置,我个人根本没有修改它(我只对ZfcUserDoctrineORM所做的一些覆盖)。


删除config/autoload/zfcuser.global.php(您不需要它)
删除config/autoload/zfcuserdoctrineorm.global.php
在定义用户实体的模块中,如果要覆盖ZfcUserDoctrineOrm的注释驱动程序(假设文件位于YourModule/config/module.config.php中),请使用以下命令:

// entity mappings
'doctrine' => array(
    'driver' => array(
        'zfcuser_entity' => array(
            // customize path
            'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
            'paths' => array(__DIR__ . '/../src/YourModule/Entity'),
        ),
        'orm_default' => array(
            'drivers' => array(
                'YourModule\Entity' => 'zfcuser_entity',
            ),
        ),
    ),
),

// ZfcUser specific config
'zfcuser' => array(
    'user_entity_class'       => 'YourModule\Entity\User',
    'enable_default_entities' => false,
),



这应该适用于0.1.xZfcUserDoctrineORM版本

07-26 09:43
查看更多