【发布时间】:2015-02-19 15:49:04
【问题描述】:
在 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 中的bug 的问题。它已被修复,但尚未合并到 master 分支。无论如何,我想暂时切换到我自己的DbSelect 班级。但是DbSelect 不是invocable。 如何使用自定义类而不是默认框架类,例如Zend\Paginator\Adapter\DbSelect?
【问题讨论】:
-
你提到的问题已经修复并合并到#6817
-
感谢您的评论!嗯,问题不仅是关于这个具体问题。但无论如何——我刚刚制作了一个
composer update,它已经加载了当前的ZF2 版本2.3.5。我不知道为什么,但是有问题的地方的Zend\Paginator\Adapter\DbSelect的代码仍然保持在修复之前的样子:90行只包含一个return方向(return $resultSet;),没有任何检查和转换为数组(请参阅修复 github.com/samsonasik/zf2/commit/…)。
标签: php zend-framework2 servicemanager