Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多租户数据库&;一款车型-MVC&;逐浪_Php_Mysql_Database_Model View Controller_Joomla - Fatal编程技术网

Php 多租户数据库&;一款车型-MVC&;逐浪

Php 多租户数据库&;一款车型-MVC&;逐浪,php,mysql,database,model-view-controller,joomla,Php,Mysql,Database,Model View Controller,Joomla,我正在开发一个具有以下结构的组件。该系统是在多租户概念下开发的 www.a.com、www.b.com、www.c.com是位于不同域但运行相同系统的网站。每个网站在其本地数据库中都有自己的模板和网页。这是可行的 在这三个站点上运行的系统与上述(模板等)是独立的。www.a.com、www.b.com、www.c.com拥有一个大型数据库,所有系统数据都保存在该数据库中。因为系统是根据MVC开发的,所以我想做的是有一个单一模型(多个模型),其中包含所有逻辑。因此如果我对模型进行一次更改,它会影

我正在开发一个具有以下结构的组件。该系统是在多租户概念下开发的

www.a.com、www.b.com、www.c.com是位于不同域但运行相同系统的网站。每个网站在其本地数据库中都有自己的模板和网页。这是可行的

在这三个站点上运行的系统与上述(模板等)是独立的。www.a.com、www.b.com、www.c.com拥有一个大型数据库,所有系统数据都保存在该数据库中。因为系统是根据MVC开发的,所以我想做的是有一个单一模型(多个模型),其中包含所有逻辑。因此如果我对模型进行一次更改,它会影响3个站点。


根据我的研究,模型应该在云中维护。我如何用MVC实现这样的需求(假设我使用Joomla作为CMS,MySQL作为DBs)?如何为所有3个站点提供一个单一的模型?

您可以在同一个joomla安装中放置多个域,而无需任何更改,只需添加一个名为virtualdomains的插件,它将允许您(免费)为每个域选择模板,从而选择菜单、扩展和可用页面; 维护方面,这将很容易,因为所有都在一个盒子里;但是用户将看到三个不同内容、布局和URL的网站

只有几个警告: 1) 确保没有使用url调用脚本、css或其他本地资源(http://www.a.com/template/xxx/js/jquery.autocomplete.js)vs/template/xxx/js/jquery.autocomplete.js,第一个将不能很好地处理缓存。
2) 使用.htaccess处理任何复杂问题,例如不同域上的相同url;使用sh404或类似的组件来管理SEF URL。

这个模型在我看来相当复杂

这取决于它的主要目标是什么?它只是将所有文章/用户聚集在一起?但是为什么呢

如果您正在处理在多个Joomla安装上运行一个项目的问题,我可以建议您将它们放在单个Joomla上,而不是使用虚拟域()在其他域上“复制”网站。然后,您将为所有项目创建一个数据库

这样做的一个缺点是,它主要适用于具有相同组件和文章结构的项目。例如,按不同领域下的区域划分的本地新闻等


供参考:Joomla 2.5最新版本的解决方案运行速度非常快。

模型不是一个类,而是一个层。其中只有一小部分是关于与存储的交互。如果模型知道它用于哪个站点,为什么不能生成正确的查询??