我的任务是重建四个电子学习网络应用程序(PHP MVC),用于处理购买/销售和与在线课程互动的公司和用户:
所有这些应用程序当然都有不同的界面,可以在不同的域上访问。
截至目前,应用程序4已完成。
我的问题是,之前的开发人员复制了大量代码,只在应用程序之间共享数据库,导致需要更改某些内容时出现维护问题。
应用程序有很多共同之处。他们都处理相同的课程,用户和公司,从4到1,每个应用程序基本上了解正在发生的事情。
例如,在应用程序4中,有当前公司的课程完成和电子商务报告(只有部分用户可以访问)。在应用程序2中,汇总了属于同一企业的公司的报告,并且在应用程序1中进一步提供了针对所有企业和独立公司的报告。此外,每个都有一些不同的独特功能。
所以我觉得所有的应用程序应该共享相同的模型,每个应用程序应该拥有自己的控制器和视图。我的问题是:
技术上最好的方法是什么?应用程序位于同一服务器上,每个应用程序位于不同用户的/ home目录中,并且open_basedir限制生效,每个应用程序仅允许包含其目录中的文件。
如果放宽open_basedir限制并允许包含模型位置的文件,有什么安全隐患?我们拥有服务器,因此进行任何更改都不是问题(尽管运行Plesk意味着我们应该从它的界面进行所有配置)。
我如何配置域?
我现在“它取决于”,但这实际上是个好主意吗?我可以看到,所有应用程序都存在过度拥挤模型的风险(尽管我肯定会在必要时将应用程序逻辑分开)。
答案 0 :(得分:0)
如果应用程序位于同一服务器上。我会为其中一个域创建一个主帐户,并将其余域保留在其上。 并让应用程序确定女巫应用程序需要根据域加载。
你也可以选择这种结构
-- public_html
-----index.php ( main app )
-----/domain2
---------index.php
-----/domain3
---------index.php
-----/domain4
---------index.php
-- application ( folder for common code )
---- models
-- applications ( folder for app. specific code )
---- application1
------- controllers
------- views
然后将域停放在文件夹domain1,domain2等上......在该索引中,您可以相应地设置模型,控制器和视图路径。 通过这种方式,您可以通过域(对于本地,测试环境)访问应用程序。