如何更改 symfony 2 学说映射器以使用我的自定义目录而不是捆绑包下的实体目录 [英] How do I change symfony 2 doctrine mapper to use my custom directory instead of my Entity Directory under the bundle

查看:15
本文介绍了如何更改 symfony 2 学说映射器以使用我的自定义目录而不是捆绑包下的实体目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的 symfony 2.3 应用程序中使用了学说.我想使用像

I use doctrine in my symfony 2.3 application. I want to use a folder structure like

/MyBundleName/User/User.php

对于我的实体.

问题:

无论如何,我是否可以直接显式映射学说 ORM 以使用显式目录,而不是默认为我的 Bundle 的 Entity 目录?

Is there anyway that I can explicitly map doctrine ORM directly to use an explicit directory instead of defaulting to the Entity Directory of my Bundle?

我想将所有相关文件保存在各自的目录中,例如

I would like to keep all related files in their respective directory such as ProductProvider in

/MyBundleName/Product/ProductProvider.php

任何帮助将不胜感激.

推荐答案

只是为了跟进@Imanol 的正确答案,可以将您的实体放在一个实体管理器下的多个目录中:

Just to follow up a bit on @Imanol's correct answer, it is possible to have your entities in multiple directories under one entity manager:

doctrine:
  orm:
    default_entity_manager:       default
    auto_generate_proxy_classes: %kernel.debug%

    entity_managers:

        default:
            connection: default
            mappings:

        test01:
            connection: test01
            mappings:
              product:
                type:      yml
                dir:       %kernel.root_dir%/../src/Cerad/Bundle/Test01Bundle/Product
                prefix:    CeradBundleTest01BundleProduct
                alias:     Product
                is_bundle: false
              user:
                type:      yml
                dir:       %kernel.root_dir%/../src/Cerad/Bundle/Test01Bundle/User
                prefix:    CeradBundleTest01BundleUser
                alias:     User
                is_bundle: false

不要担心 is_bundle: 错误条目.实体仍然可以捆绑在一起.教义不在乎.如果您想知道,别名参数可以让您执行以下操作:

Don't worry about the is_bundle: false entries. The entities can still live in a bundle. Doctrine does not care. And in case you are wondering, the alias parameter lets you do things like:

$repo = $em->getRepository("Product:Product");

这篇关于如何更改 symfony 2 学说映射器以使用我的自定义目录而不是捆绑包下的实体目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆