Zend框架2导航错误



我遇到了一个zend 2导航错误,似乎找不到解决方案。搜索了所有内容,尝试了所有内容。。。。。

这是我的配置:

路线(Application/config/module.config.php):

'home' => array(
'type' => 'ZendMvcRouterHttpLiteral',
'options' => array(
'route'    => '/',
'defaults' => array(
'controller' => 'ApplicationControllerIndex',
'action'     => 'index',
),
),
),

工厂(Application/config/module.config.php):

'service_manager' => array(
'factories' => array(
'navigation' => 'ZendNavigationServiceDefaultNavigationFactory',
),

导航(Application/config/module.config.php):

'navigation' => array(
'default' => array(
array(
'label' => 'home',
'route' => 'home', 
),
),
),

布局(Applicationviewlayoutlayout.phtml):

<?php echo $this->navigation('navigation')->menu(); ?>

错误:

Uncaught exception 'ZendNavigationExceptionInvalidArgumentException' with message 'Invalid argument: $route must be a non-empty string or null' in 
/var/www/html/project/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php on line 904

ZendNavigationExceptionInvalidArgumentException: Invalid argument: $route must be a non-empty string or null in /var/www/html/project/vendor/zendframework/zendframework/library/Zend/Navigation/Page/Mvc.php on line 397

上一个例外:

ZendServiceManagerExceptionServiceNotCreatedException: An exception was raised while
creating "navigation"; no instance returned in /var/www/html/project/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php on line 904

问题出在哪里?我似乎无法让它工作,。。。

您的配置在这里看起来不错;尽管错误表明您正在将null作为路由值传递到某个地方的Mvc类。

请记住,如果您在其他模块(在module.config.php中)中有任何其他导航配置,这些模块也将在引导过程中包含在工厂中。

我现在在尝试合并来自不同模块的多个导航配置时遇到另一个错误:无效参数:无法确定要实例化的类

错误是由于导航工厂不知道应该创建ZendNavigationPageMvc还是ZendNavigationPageUri。这意味着您在module.config.php中的"导航"配置中缺少一些配置条目。

为了确保工厂能够创建正确的,您需要确保以下

  • URI页面-需要uri密钥
  • MVC页面-需要route密钥或一个(或两个)controlleraction密钥

您可以在导航文档中阅读有关此方面的更多信息。

相关内容

  • 没有找到相关文章

最新更新