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