首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态DB适配器如何在ZF2中工作?

动态DB适配器如何在ZF2中工作?
EN

Stack Overflow用户
提问于 2014-02-27 09:52:28
回答 1查看 175关注 0票数 0

在Zendframework 2中,我按照这个链接创建了新的模块MyModule:https://stackoverflow.com/a/17969889/2644574 to 设置DB适配器动态它运行良好。

但我从不从这个模块调用MyModule模块或任何函数。

有谁能解释一下,在不调用模块MyModule的情况下,DB适配器是如何动态地设置的?

EN

回答 1

Stack Overflow用户

发布于 2014-03-01 14:43:32

从您提供的链接中创建的步骤1到步骤4中的代码只是如何创建适配器的模板。在步骤5中,他们解释说,您必须向控制器添加一个函数。

代码语言:javascript
复制
public function getYourTable()
{
    if (!$this->yourTable) {
        $sm = $this->getServiceLocator();
        $this->yourTable = $sm->get('YourModule\Model\YourTable');
    }       
    return $this->yourTable;
}

当调用该函数时,调用服务管理器,如果适配器不存在,则创建适配器。在服务管理器的配置中,定义了如何创建这些服务以及在哪里找到它们。然后通过composer或ZF2模块管理器的自动加载功能加载它们。

这是可能的,因为您通过函数向全局服务管理器注册了服务。

代码语言:javascript
复制
getServiceConfig()

因此,对于服务管理器来说,代码来自哪个模块并不重要。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22064805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档