当创建一个不仅仅适用于一个应用程序的捆绑包,但考虑到更通用的用法时,让我们说一个ChatBundle,我总是遇到关于如何使用用户对象的同样问题,在许多情况下当然需要这样做(喜欢聊天)。
在一个仅在一个应用程序中使用的包中,我只是硬编码对我的主包的引用,如下所示:
<?php
namespace Acme\ChatBundle\Entity;
/**
* @ORM\Entity
*/
class Message
{
/**
* @ORM\ManyToOne(targetEntity="Acme\ProjectBundle\User")
*/
private $user;
...
但是在一个通用的捆绑中,这是不可能的。是让开发人员自己实现所有实体的唯一方法吗?有没有最佳做法?我找不到关于该主题的任何文档或博客文章,除了其他软件包的代码(但大多数是复杂的,抽象的,很难掌握那里的主要问题)。