我已经编写了一个自定义Part
类(MyNamespace\Mvc\Router\Http\Part
),现在将替代Zend\Mvc\Router\Http\Part
使用。如何将其加载到Zend\Mvc\Router\RoutePluginManager
?
-
编辑:
刚试过
namespace Application;
use Zend\Mvc\MvcEvent;
class Module {
...
public function onBootstrap(MvcEvent $mvcEvent) {
...
$routePluginManager = $mvcEvent->getRouter()->getRoutePluginManager();
$routePluginManager->setInvokableClass('part', 'MyWorkspace\Mvc\Router\Http\Part');
...
}
...
}
但它不起作用 - 仍然使用标准的Zend类。
答案 0 :(得分:1)
让你的Module类实现Zend\ModuleManager\Feature\RouteProviderInterface
并声明它需要的getRouteConfig
方法
<?php
namespace Application;
use Zend\ModuleManager\Feature;
class Module implements Feature\RouteProviderInterface
{
public function getRouteConfig()
{
return array(
'invokables' => array(
'part' => 'ITT\Mvc\Router\Http\Part',
),
);
}
}
或者,将其添加到module.config.php
密钥
route_manager
文件中
return array(
'route_manager' => array(
'invokables' => array(
'part' => 'ITT\Mvc\Router\Http\Part',
),
),
);