我有一个 url 以这种方式重绘 $ this->view->url($item['action']) 但是这个变量可以包含系统中的路由,我该如何检查,检查这个路由是否存在在 ZF2 中?
问问题
20 次
1 回答
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 = '';
}
于 2019-03-16T12:12:55.263 回答