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