段路由到工厂而不是控制器

时间:2013-01-30 19:37:34

标签: php zend-framework2

我目前正在设置一个ZF2应用程序并且遇到了路由器。我查看了Zend的分段路由示例:

$route = Segment::factory(array(
    'route' => '/:controller[/:action]',
    'constraints' => array(
        'controller' => '[a-zA-Z][a-zA-Z0-9_-]+',
        'action'     => '[a-zA-Z][a-zA-Z0-9_-]+',
    ),
    'defaults' => array(
        'controller' => 'Application\Controller\IndexController',
        'action'     => 'index',
    ),
));

通过调用http://example.com/Maps/edit,Zend将自动“导航”到MapController并调用EditAction()。 由于我使用Factory作为MapController,我正在寻找像

这样的解决方案
$route = Segment::factory(array(
    'route' => '/:factory[/:action]',
    'constraints' => array(
        'factory' => '[a-zA-Z][a-zA-Z0-9_-]+',
        'action'     => '[a-zA-Z][a-zA-Z0-9_-]+',
    ),
    'defaults' => array(
        'factory' => 'Application\Controller\Factory\DefaultControllerFactory',
        'action'     => 'index',
    ),
));

基本上我希望框架能够访问工厂而不是控制器,而无需手动列出任何单个工厂。

感谢您的任何建议!

1 个答案:

答案 0 :(得分:1)

控制器管理器是ServiceManager,适用所有服务管理器功能。注册控制器工厂而不是将其声明为可调用