Php 如何在Zend Framework中用自定义类替换ZF2类?
在Zend Framework 2中,使用自定义类而不是框架中的可调用类非常容易。例如,一个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
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;
),没有任何检查和对数组的转换(请参见修复)。