0

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

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

    源/项目/

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

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

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

4

2 回答 2

0

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

于 2012-08-10T12:53:47.490 回答
0

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

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

use MyName\Bundle\CoreBundle\Entity\MyEntity;

永远不要在捆绑中创建模型库,这不是 Symfony 哲学,你真的错了!

于 2012-08-10T23:22:38.827 回答