Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 段路由到工厂而不是控制器_Php_Zend Framework2 - Fatal编程技术网

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

Php 段路由到工厂而不是控制器,php,zend-framework2,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

我目前正在安装一个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',
    ),
));
通过调用Zend将自动“导航”到MapController并调用EditAction()。 由于我使用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',
    ),
));
基本上,我希望框架访问工厂而不是控制器,而不手动列出任何单个工厂


谢谢你的建议

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