public function match(Request $request, $route = false) { if ($request->getUri() == $this->_path) { $static = new Route(); $static->setControllerName($this->_controller); $static->setActionName($this->_action); $static->merge($route); return parent::match($request, $static); } }
/** * @param array $node * @param Route $trunk * @return Route[] */ private function traverse(array $node, $trunk = null) { $r = array(); foreach ($node as $key => $n) { // echo $key.'<br>'; $nodeRoute = new Route($n); if ($trunk != null) { $nodeRoute->merge($trunk); } $r[$key] = $nodeRoute; if (array_key_exists('child_route', $n)) { $r = array_merge($this->traverse($n['child_route'], $nodeRoute), $r); } } return $r; }