路由器没问题,它通过地址栏工作 如果我回显 URL,路由器没问题 如果我回显 $this->url('routename'),应用程序将停止工作
伙计们,这是路由器:
'ownedGoods' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/owned',
'defaults' => array(
'controller' => 'index\index',
'action' => 'indexOwned'
)
)
),
这是控制器的可调用
'index\index' => 'AddGoods\Controller\IndexController',
现在,当我打开 URL:http://goodsApp.localhost:88/owned时,它可以工作
当我在导航栏中放置其他链接时出现了问题,其中添加商品和主页等其他链接正在工作,但拥有的却没有。
<li class="active"><a href="<?php echo $this->url('home') ?>"><?php echo $this->translate('Home') ?></a></li>
<li class="active"><a href="<?php echo $this->url('add') ?>"><?php echo $this->translate('Add a good') ?></a></li>
<li class="active"><a href="<?php echo $this->url('owned') ?>"><?php echo $this->translate('My Goods') ?></a></li>
应用程序没有运行,没有控制器和路由匹配。即使不是主页,它也显示
在 path\to\app\vendor\zendframework\zendframework\library\Zend\Mvc\Router\Http\TreeRouteStack 中未捕获异常 'Zend\Mvc\Router\Exception\RuntimeException' 并带有消息 'Route with name "owned" not found'。 php:313 堆栈跟踪:#0 path\to\app\vendor\zendframework\zendframework\library\Zend\View\Helper\Url.php(100): Zend\Mvc\Router\Http\TreeRouteStack->assemble(Array, Array) #1 [内部函数]: Zend\View\Helper\Url->__invoke('owned') #2 #2 path\to\app\vendor\zendframework\zendframework\library\Zend\View\Renderer\PhpRenderer。 php(400): call_user_func_array(Object(Zend\View\Helper\Url), Array) #3 path\to\app\module\Application\view\layout\layout.phtml(48): Zend\View\Renderer\PhpRenderer ->__call('url', Array) #4 path\to\app\module\Application\view\layout\layout.phtml(48):Zend\View\Renderer\PhpRenderer->url('owned') in path\to\app\vendor\zendframework\zendframework\library\Zend\Mvc\Router\Http\TreeRouteStack.php 在第 313 行
但是,如果我从导航中删除导航栏链接(最后一个 li 标签),它会再次起作用。即使不是 this->url('owned') 我只是 echo 'owned' 它仍然有效。
问题是只有当我在导航栏中回显 this->url('owned') 时,它才会停止工作并给出异常。如果我通过地址栏或任何其他方式使用路由,例如在导航栏中回显“拥有”,它就可以工作。
还有什么问题,随意问我。