我试图想出一个聪明的办法来实现下列要求我的包:如何设置Symfony2的捆绑独立与相关实体
- 我有一个包名为
LogicABundle
- 我有一个捆绑的逻辑与常见的东西作为设计和菜单称为
AppBundle
- 我还有一个捆绑的逻辑
LogicBBundle
一些实体 相关LogicABundle
实体
我知道希望能够 “部署” 这种设置两个应用:
- 申请一个使用
LogicABundle
和AppBundle
- 第二个使用
LogicABundle
,LogicBBundle
和AppBundle
问题是,对于第二个应用程序,我需要将一些实体从LogicABundle
改为LogicBBundle
,这会导致第一个“deplo y“选项来刹车,如果我只是有一个实体LogicABundle
指向LogicBBundle
。
是否有独立部署这两种不同应用程序的智能解决方案? 下面是一个示例,以便更容易理解: 命名空间My \ LogicABundle \ Entity \ Game;
use Doctrine\ORM\Mapping as ORM;
/**
* My\LogicABundle\Entity\Game
*
* @ORM\Entity
*
*/
class Game
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string $title
*
* @ORM\Column(name="title", type="string")
*/
private $title;
/**
*
* @var Message
* @ORM\ManyToOne(targetEntity="\My\LogicBBundle\Entity\Message", inversedBy="games")
* @ORM\JoinColumn(name="messag_id", referencedColumnName="id", nullable=false)
* @Assert\NotNull()
*/
private $message;
}
我希望能够使用游戏类的我只能用LogicABundle独立的应用程序,并在我的第二个应用程序,我需要比赛实体消息的关系。
您可以从其他的Symfony的 – Maks3w
扩展束如果我会用BundleInheritance我需要一个ExtendedLogicABundle,它继承自LogicABundle,在那里我扩展了与LogicBBundle相关的实体。此外,正确覆盖实体的部分还没有记录:http://symfony.com/doc/current/cookbook/bundles/override.html这也意味着我需要一个额外的Bundle用于相关的实体,用于evey现有的Bundle 。例如。我有一个UserBundle,它也将与LogicBBundle有关系,在这个设置中我还需要一个ExtendedUserBundle。这种方法并没有那么大的吸引力。 – m0c
请看我更新的答案。 –