我正在使用Zend Framework 2开发一个将用于多家公司的系统。在不同公司之间共享应用程序的最佳方式是什么?
最初,我认为我可以通过子域名来区分公司,例如http://companyname.system.com,并使用它来确定设置(名称,数据库,许可证文件,电子邮件帐户等)。但是我怎么能这样做,并使用相同的应用程序?
另一种选择是让所有人在同一环境中登录,并按数据库区分,用户表中的ID字段......这是一个好方法吗?在这种情况下,我应该如何处理不同公司之间的差异和特殊性?
无论如何..我需要一个可以启发我的人..有人可以帮忙吗?
答案 0 :(得分:0)
这一切都取决于应用程序。它将分享多少,客户网站将具有相同的主题,它们是否具有相似的数据库数据/结构,您的主机可以处理负载等等。很多东西,所以有太多的东西要考虑到给定的回答。
无论如何,你可以使用像:
这样的东西getConfig
方法中检查子域名并在那里加载特定于域的配置(或将其合并到其他配置) - 因此您可以通过这种方式使用不同的数据库配置。或者您可以使用docs并将您的数据库适配器命名为您的客户端(但不建议这样做)我的经验表明,将功能放入模块中可能是有意义的,这些模块将用于组合应用程序并使用这些模块构建轻量级应用程序。这些模块完成了所有艰苦的工作,应用程序主要通过引导应用程序和路由来保留。