2

我编写了一个自定义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 类。

4

1 回答 1

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',
          ),
      ),

  );
于 2013-10-13T09:27:54.370 回答