我的应用程序具有以下模块结构 模 +申请 + UserAdmin
我希望它在“应用程序”下定义的所有模块都是通用的。有了这个,我在Application / Module.php中实现了ACL。如果不允许ACL,我将流重定向到UserAdmin / config / module.config.php中定义的路由“useradmin”。
在运行时我没有任何问题,我能够将所有操作路由到此路由。但是,我正在尝试使用应用程序的vendor / bin目录下的zf.php创建新模块或控制器或操作。
我发出以下命令
vendor/bin/zf.php create controller UserGroup UserAdmin
我收到以下错误
PHP Fatal error: Uncaught exception 'Zend\Mvc\Router\Exception\RuntimeException' with message 'Route with name "useradmin" not found' in /var/www/zf2/dwam/vendor/zendframework/zendframework/library/Zend/Mvc/Router/SimpleRouteStack.php:328
Stack trace:
#0 /var/www/zf2/dwam/module/Application/Module.php(54): Zend\Mvc\Router\SimpleRouteStack->assemble(Array, Array)
#1 [internal function]: Application\Module->Application\{closure}(Object(Zend\Mvc\MvcEvent))
#2 /var/www/zf2/dwam/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func(Object(Closure), Object(Zend\Mvc\MvcEvent))
#3 /var/www/zf2/dwam/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207): Zend\EventManager\EventManager->triggerListeners('route', Object(Zend\Mvc\MvcEvent), Object(Closure))
#4 /var/www/zf2/dwam/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php(296): Zend\EventManager\EventManager->trigger('route', Object(Zend\Mvc\MvcEvent), Object(Closure))
#5 /var/www/zf2/dwam/ven in /var/www/zf2/dwam/vendor/zendframework/zendframework/library/Zend/Mvc/Router/SimpleRouteStack.php on line 328
引发此错误的Application / Module.php中的行是
$url = $router->assemble( array( ), array( "name" => "useradmin" ) );
当我评论此行以及对$ url的任何引用时,将创建新控制器。我试图找到不同的方法来从Module.php创建网址,我无法找到任何。
我已将名称更改为我在“Application / config / module.config.php”中定义的路由名称,但仍然无效
useradmin route
'useradmin' => array(
'type' => 'Literal',
'options' => array(
'route' => '/useradmin',
'defaults' => array (
'__NAMESPACE__' => 'UserAdmin\Controller',
'controller' => 'Index',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
有人能帮助我吗?