在 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
. 它已被修复,但修复尚未合并到master
分支。无论如何,我想暂时切换到我自己的DbSelect
班级。但DbSelect
不是invocable
。如何使用自定义类而不是默认框架类,例如Zend\Paginator\Adapter\DbSelect
?