2

我目前正在设置 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',
    ),
));

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

感谢您的任何建议!

4

1 回答 1

1

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

于 2013-01-31T01:04:29.460 回答