识别是否存在路由zend框架2

时间:2019-03-13 11:48:07

标签: zend-framework-routing

我有一个以这种方式重绘$ this-> view-> url($ item ['action'])的网址,但是此变量可以包含系统中的路由,我该如何检查,检查是否这条路线在ZF2中存在吗?

1 个答案:

答案 0 :(得分:0)

我想到的一种选择是将导航对象传递给视图

在控制器中:

return [
    'navigation' => $this->navigation,
];

视图中:

if($this->navigation->findOneBy('route', $item['action'])) {
    $url = $this->view->url($item['action']);
}

另一个选择是将呼叫括在try / catch中。如果该函数引发异常,则路由不存在

try {
    $url = $this->view->url($item['action']);
} catch(Zend\Router\Exception\RuntimeException $e) {
    $url = '';
}