Symfony:组织多客户端应用程序的业务逻辑


Symfony: Organising multi-client application’s business logic

问题:
我不确定如何为Symfony设置多客户端应用程序,这样我们就不会违反Symfony的最佳实践,也不会违反该框架
我希望有一个主要的Core命名空间,它将包含所有的基本模型类。就在核心的旁边,我想根据客户端的区域设置来设置将要使用的客户端特定的名称空间。例如美国市场的LocalUS、英国市场的LocalUK等。
Local*名称空间应该优先考虑包含twitch模板,并作为后备使用核心公共共享视图(据我所知,这可以通过twitch名称空间解决)。控制器和模型也是如此——这些问题可能可以通过扩展Core命名空间类来解决?这一切都可以通过路由和为这些本地*控制器提供路径来解决吗
我在github上查找是否有类似设置的项目,但我什么也找不到。

一点背景:
我们有一个旧的遗留PHP应用程序,它是使用普通PHP从头开始在内部构建的。随着应用程序的发展,很难保持良好的代码质量和标准。向新开发人员传授我们的应用程序逻辑也非常耗时,因为应用程序基本上不遵循标准设计模式,只做自己的事情。许多处理路由、控制器等的底层代码似乎像"魔法"一样工作,没有人敢碰。

正因为如此,我们希望将我们的应用程序迁移到Symfony3框架。我读过一些关于将遗留应用程序迁移到symfony的整个过程的文章,并很好地使用了silex。然而,Silex有点太轻了,我发现资产服务提供商缺少很多功能(树枝名称空间等),并决定最好改用全栈symfony框架。

查看Symfony捆绑包-它们正是您所需要的。您创建了一个"基本"捆绑包,而不是用其他捆绑包来扩展它。这就是FOSUserBundle的工作原理-它提供了您所需要的一切,而不是扩展和覆盖它。