【发布时间】:2018-03-28 10:13:45
【问题描述】:
我们的项目分为两部分 - API 和前端。
两者都是用 Symfony 3.4 编写的,并且都位于不同的服务器以及 git 存储库中。
您可能已经知道,Symfony 使用包,每个包都有自己的实体。
我们的两个项目都使用捆绑包中的相同实体,而且前端有额外的。
目前,要维护实体有点困难,因为我们对其中一个实体所做的每一项更改都必须与另一个项目的实体保持一致。
我正在考虑使用 git 的子模块功能来保持它们都是最新的,但是,捆绑包中的其他文件夹呢?喜欢服务和控制器?我只想跟踪实体,这样当我们进行更改时,两个项目(或任何人)都可以在没有我们的情况下拥有那些,而不必复制粘贴内容。
你在想什么,你有什么建议?
这是一个结构示例。我希望它是可读的
Project A Project B
-Bundle 1 -Bundle 1
---Entities --- Entities
-Bundle 2 -Bundle 2
---Entities ---Entities
---Services
-Bundle 3 -Bundle 3
---Entities ---Entities
---Services
-Bundle 4
【问题讨论】:
-
请不要投反对票,除非你说明你这样做的原因。非常感谢。
-
一种解决方法可能是多内核方法github.com/yceruto/symfony-skeleton-vkernel
-
要考虑的一点是实体不必在 Symfony 包中。它们可以在自己的小共享包中关闭,然后您可以配置您的实体管理器以使用它们。至于您的反对投票请求,我建议您远离海洋,因为您可能会发现自己正试图阻止潮水涌入。