【问题标题】:Using one entity in multiple controllers在多个控制器中使用一个实体
【发布时间】:2015-10-01 21:00:44
【问题描述】:

情况的设置是这样的:

1) 我有两个捆绑包,我想在其中使用相同的实体。因此,正如this questionthis article 中所建议的那样,我创建了所需实体所在的 CommonEntitiesBundle。

2) 然后我描述了我想在其中使用实体的两个包中的模型接口。到目前为止一切顺利。

现在我想使用接口实体,就像我会使用这样的“bundle-native”实体:

$clientData = new Client(); // the Entity class
$client->setName('Greg');

只有接口可用时,我应该如何处理它?

used 这个控制器的接口。

在 Symfony 的示例中,仅通过 ORM 注释使用了该类。

【问题讨论】:

    标签: symfony interface doctrine entities


    【解决方案1】:

    接口不是类。相反,它是具有“implements [interfaceName]”的类必须具有的最少必要方法的列表。

    相反,您可以在捆绑包中提供一个示例类,并默认使用该示例类。在 app/config.yml 中添加配置,您可以在其中更改类名。每个派生类都必须实现接口以保持一致性。

    【讨论】:

    • 那么你的意思是说,除了制作 orm 依赖项之外,这里不需要整个 resolve_target_entities 吗?而且我可以将两个完全相同的实体放在两个包中,最终在数据库中使用同一个表?
    • 我仍然不确定您要达到的目标。在每种情况下,您都可以直接使用每个捆绑包和其他捆绑包中的每个实体。
    • 目标是通过一个实体在两个不同的包中使用相同的数据。我不知道你只是直接做。确认一下,我就可以走了。
    猜你喜欢
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 1970-01-01
    • 2012-08-09
    相关资源
    最近更新 更多