不同域上各个项目的Symfony代码可维护性

时间:2018-10-05 14:49:41

标签: symfony virtualhost symfony4

我在Symfony 4中有两个单独的项目。第一个项目将由客户使用,而第二个项目将由员工使用。两个项目都使用相同的实体,存储库,名称空间,配置等。项目之间的唯一区别是控制器及其内容。有关单独项目的一些限制:

公开域(供客户使用)

  • 公共服务器,因此任何人都可以连接到该服务器。
  • 有时会启动并运行(在线)。有时,它处于关闭状态并且没有运行(脱机),导致用户在Google Chrome浏览器上看到“无法访问此网站”错误。
  • 不需要客户端证书

域私有(供员工使用)

  • 只能由本地网络访问。
  • 始终在线运行(运行)
  • 需要客户端证书

如您所见,公共域有一些奇怪的要求,这些要求是为了最大程度地提高安全性。为了将两个项目托管在同一台服务器上,我在Apache上使用了虚拟主机,并正确配置了这些主机。

现在我有以下问题:在控制器内部没有发生的任何机会,我也必须手动复制并粘贴到第二个项目中。因此,我希望两个域,两个网站都共享相同的资源,因此我只需要在一个位置进行编辑。我怎样才能做到这一点?我想出两种解决方案:

  • 将两个项目合并为一个,以便它们共享相同的资源。这样,他们将共享相同的实体,依此类推,并且我可以在默认控制器目录中为每个域创建一个单独的目录。但是我认为这是不可能的。
  • 因此在我的Web根目录中,每个项目都有两个单独的目录。我可以创建第三个目录,其中包含所有共享文件(因此,除了控制器之外,基本上每个文件)。但是我该如何引用共享文件,例如我的自定义实体,也可以引用composer.json,因为这两个项目将使用完全相同的依赖项。

如果有人可以给我一些有关如何解决此问题的建议,那将大有帮助!

0 个答案:

没有答案