我遇到了一個問題,因爲我目前沒有理解該框架的功能。我想設置一個ViewHelper
,根據我在哪個網站上返回一個輸出。如果我匹配兩個特定的routes
或child_routes
,我希望ViewHelper根據該路線輸出鏈接列表。如果我不在這些匹配的路線上,我想輸出什麼。在ViewHelper中訪問路由器以匹配路由或child_routes
建立一個視圖助手是相當簡單的,現在我的視圖助手看起來是這樣的:
'factories' => array(
'myViewHelper' => function($sm) {
$service = $sm->getServiceLocator()->get('some-doctrine-entity');
return new \Mynamespace\View\Helper\ViewHelper($service);
}
)
輸出鏈接的列表相像,
$this->url('someLink', array('id', $service->getId());
現在我的問題是someLink
部分需要變化。它應該是foo
或bar
。 foo
和bar
可以有child_routes
像foo/index, foo/details, foo/etc
,我需要匹配所有這些。
所以我的問題是如何寫這個
$currentRoute = somehowGetTheCurrentRoute();
if ($currentRoute matching `foo` or `foo/child_routes`
or is matching `bar` or `bar/child_routes`) {
echo "im happy";
}
你試圖顯示替代路線匹配(如果有的話)? – yechabbi
通過上面的例子,我希望URL'someLink'可以是'foo/sub'或'bar/sub',具體取決於if'foo'或'bar'或任何給定的child_route。爲此,我需要將匹配的路由注入到視圖助手中。我的問題是,我如何才能找到當前匹配的路線。 – Sam