首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zend框架2导航错误

Zend框架2导航错误
EN

Stack Overflow用户
提问于 2014-02-18 08:21:17
回答 1查看 1.7K关注 0票数 1

我得到了一个zend 2导航错误,似乎找不到解决方案。什么都搜遍了,什么都试过了……

这是我的心声:

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

代码语言:javascript
复制
'home' => array(
                'type' => 'Zend\Mvc\Router\Http\Literal',
                'options' => array(
                    'route'    => '/',
                    'defaults' => array(
                        'controller' => 'Application\Controller\Index',
                        'action'     => 'index',
                    ),
                ),
            ),

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

代码语言:javascript
复制
'service_manager' => array(
        'factories' => array(
            'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory',

        ),

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

代码语言:javascript
复制
'navigation' => array(
        'default' => array(

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

布局(Application\view\layout\layout.phtml)

代码语言:javascript
复制
 <?php echo $this->navigation('navigation')->menu(); ?>

错误:

代码语言:javascript
复制
Uncaught exception 'Zend\Navigation\Exception\InvalidArgumentException' 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

代码语言:javascript
复制
Zend\Navigation\Exception\InvalidArgumentException: 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

以前的例外情况:

代码语言:javascript
复制
Zend\ServiceManager\Exception\ServiceNotCreatedException: 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

有什么问题吗?我好像没办法让它起作用.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-18 09:40:55

您的配置在这里看起来很好;尽管错误表示您要将null作为路由值传递到某个Mvc类。

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

现在,当尝试合并来自不同模块的多个导航信任时,我又出现了另一个错误:无效参数:无法确定类实例化

错误是由于导航工厂不知道应该创建Zend\Navigation\Page\Mvc还是Zend\Navigation\Page\Uri。这意味着您在module.config.php中的“导航”配置中缺少了一些配置条目。

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

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

您可以在导航文件中阅读更多有关这方面的内容。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21847867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档