你如何保持MVC与多个数据库?

时间:2010-09-16 18:50:20

标签: model-view-controller

我有很多数据库可以点击并放在一个页面中。大多数框架只允许我为一个数据库配置两个本机。他们都假设用于新的应用程序和一个数据库。我有很多遗留数据库。

由于我只能在框架中配置一个数据库,我见过ci,zend等,看起来我的附加数据库连接必须在我的控制器中进行。

我可以在后端编码什么以防止它们离开控制器。我不想为每个不同的数据库在每个控制器中输入connection = myconn等。

此外,是否有任何框架允许ORM映射中的多个数据库?

1 个答案:

答案 0 :(得分:0)

我通过事件将我的控制器与数据库分开。我从我的控制器中发出一些抽象的“SaveWhateverComplicatedData”事件,另一个类(谁知道我所有的数据存储细节)监听这些事件并解释它们。它对我来说工作得很好,虽然我只有一个数据库,但我没有看到任何理由我没有更多。

这是我自己设置的自定义框架,但您可以通过将这些“数据事件”包装在看起来像数据库的界面中来挂钩到另一个框架。您可以使用数据事件实现框架所需的任何接口,并且仍然可以让您的监听多数据库类完成实际工作。