【问题标题】:Multi-Bundles in Symfony 2Symfony 2 中的多捆绑包
【发布时间】:2013-03-07 10:39:30
【问题描述】:

我从 Symfony 2 创建项目,但我有一个问题: 在项目中有多个捆绑包(例如:AdminBundle 和 FontEndBundle)

  1. 案例 1:Doctrine orm 和 Entities 在 FrontEndBundle 上生成,然后从 AdminBundle,我将通过 FrontEndBundle:Object 调用 Entity,它可以正常工作。
  2. 案例2:我想配置结构如下

    src/项目/

    • 模型/实体
    • OrmYml/doctrine/orm
    • 捆绑包(包含 FontEndBundle 和 AdminBundle)
    • 扩展

在情况 2 中,如何配置实体映射以生成实体到 src/Model/Entity 目录?因为当我使用命令时:doctrine:generate:entities Project/Model/Entity

错误:命名空间“Project\Model\Entity”不包含任何映射 实体。

【问题讨论】:

    标签: symfony


    【解决方案1】:

    你如何声明你的实体?你应该把你的实体放在一个包中。您不能将它们放在捆绑包之外。

    【讨论】:

      【解决方案2】:

      通常,Symfony 开发人员会创建名为“CoreBundle”的第三个包(例如),您将所有共享资源放在三个包之间,即实体、一些服务(如 twig 扩展)、配置(带有 service.xml/ yml), ...另外,你可以删除这个包中的控制器和视图目录,它们是无用的(不要忘记通过删除CoreBundle控制器注入来清理app/config/routing.yml文件)!

      然后只需在正确的捆绑包中调用您的实体:

      use MyName\Bundle\CoreBundle\Entity\MyEntity;
      

      永远不要在包中创建模型库,这不是 Symfony 的理念,你真的错了!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-21
        • 2013-09-10
        • 2011-02-21
        • 2012-07-05
        • 2018-12-31
        • 1970-01-01
        • 1970-01-01
        • 2018-05-15
        相关资源
        最近更新 更多