Symfony的。放置实体的位置

时间:2016-05-30 11:15:41

标签: doctrine-orm symfony

我正在使用symfony开发Web应用程序3.我对symfony很新。我通过捆绑包分配了我的应用程序。但有时我需要来自其他捆绑的实体。所以我的问题是 - 我应该将实体放在一些CommonBundle上,还是可以使用其他捆绑包中的实体?

2 个答案:

答案 0 :(得分:2)

我想说可以从另一个包中导入(使用)一个实体。请记住,这会在捆绑包之间创建单向依赖关系。如果在另一个包中你也从第一个包中导入实体(或其他任何东西),你最终会产生双向依赖 - 在这种情况下,包相互依赖,并且不可能删除一个,没有修改另一个。

在这种情况下,我不认为普通捆绑会帮助你。我自己也在几个项目上创建了类似CoreBundle,但它主要包含接口或一些抽象,并且它对任何其他bundle都没有任何依赖。

有些人还建议为您的应用创建一个捆绑包,并将业务代码与捆绑包分离。但如果这是您第一次使用symfony,我建议您不要这样做。

答案 1 :(得分:-3)

我们可以在项目的任何捆绑中为访问实体提供服务

喜欢: -

services:
    test_project.list.view:
        class: TestProject\TestBundle\Entity\ProfileSchool
        arguments: 
            - "@service_container"

然后在控制器中访问此实体:

$view = $this->container->get('test_project.list.view');

注意:

test_project.list.view可以是任何名称,只是演示。

希望这会对你有所帮助。

如果有任何问题,请告诉我。