ZF2找到框架提供的可用服务

时间:2014-02-06 10:43:41

标签: zend-framework2

该框架提供的可用服务列表在哪里? 也许某个地方有一个或几个中央配置文件?

获得此类列表的最简单方法是什么?

我知道可以通过编程方式解析全局合并配置,例如在模块的Module.php中监听onBootstrap事件。 如果这是唯一的方法,那么可能已经有一个公开可用的模块或代码片段吗?

原因:我想浏览它们以查看我可以使用的内容。它现在与特定问题无关。

3 个答案:

答案 0 :(得分:2)

Zend \ ServiceManager \ ServiceManager 类有一个名为 getRegisteredServices 的函数。这是代码,您将了解它检索的内容:

/**
 * Retrieve a keyed list of all registered services. Handy for debugging!
 *
 * @return array
 */
public function getRegisteredServices()
{
    return array(
        'invokableClasses' => array_keys($this->invokableClasses),
        'factories' => array_keys($this->factories),
        'aliases' => array_keys($this->aliases),
        'instances' => array_keys($this->instances),
    );
}

答案 1 :(得分:1)

默认情况下提供的所有服务都记录在此处:http://framework.zend.com/manual/2.2/en/modules/zend.mvc.services.html#default-services

答案 2 :(得分:0)

如果你解析合并的配置,你将无法获得所有服务。

也许您可以尝试转储ServiceManager::getRegisteredServices

Documentation here