Php 如何在Zend Framework中用自定义类替换ZF2类?

Php 如何在Zend Framework中用自定义类替换ZF2类?,php,zend-framework2,servicemanager,Php,Zend Framework2,Servicemanager,在Zend Framework 2中,使用自定义类而不是框架中的可调用类非常容易。例如,一个ViewHelper: namespace Application; ... class Module { public function onBootstrap(MvcEvent $mvcEvent) { $application = $mvcEvent->getApplication(); $serviceManager = $application

在Zend Framework 2中,使用自定义类而不是框架中的可调用类非常容易。例如,一个
ViewHelper

namespace Application;

...

class Module {

    public function onBootstrap(MvcEvent $mvcEvent) {
        $application = $mvcEvent->getApplication();
        $serviceManager = $application->getServiceManager();
        $viewHelperManager = $serviceManager->get('ViewHelperManager');
        $viewHelperManager->setInvokableClass('headmeta', 'MyNamespace\View\Helper\HeadMeta');
    }

    ...

    public function getAutoloaderConfig() {
        return array(
            ...
            'Zend\Loader\StandardAutoloader' => array(
                'namespaces' => array(
                    __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                    'MyNamespace' => __DIR__ . '/../../vendor/MyNamespace/library/MyNamespace',
                ),
            ),
        );
    }

}

现在我在
Zend\Paginator\Adapter\DbSelect
中遇到了一个问题。它已被修复,但修复尚未合并到
主分支。无论如何,我想暂时切换到我自己的
DbSelect
类。但是
DbSelect
不是
invocable
如何使用自定义类而不是默认框架类,例如
Zend\Paginator\Adapter\DbSelect

Paginator有自己的类。因此,您可以将自己的dbselect工厂推给他。

您提到的问题已经修复并合并在中,谢谢您的评论!那么问题不仅仅是这个具体的问题。但不管怎样,我刚刚做了一个
composer更新
,加载了当前的ZF2版本
2.3.5
。我不知道为什么,但出现问题的地方的
Zend\Paginator\Adapter\DbSelect
代码仍然像修复之前一样:行
90
只包含
返回方向(
返回$resultSet;
),没有任何检查和对数组的转换(请参见修复)。