/** * Merge parameters from another match. * * @param self $match * @return self */ public function merge(self $match) { $this->params = array_merge($this->params, $match->getParams()); $this->length += $match->getLength(); $this->matchedRouteName = $match->getMatchedRouteName(); return $this; }
/** * @return array */ private function prepareParamsAndRouteName() { // default $params and $routeName $params = []; $routeName = 'home'; // when error occurred (404) we don't have routeMatch if ($this->routeMatch) { $params = $this->routeMatch->getParams(); if ($params['action'] === 'index') { unset($params['action']); } $params['controller'] = $params['__CONTROLLER__']; if ($params['controller'] === 'index') { unset($params['controller']); } $routeName = $this->routeMatch->getMatchedRouteName(); unset($params['__NAMESPACE__']); unset($params['__CONTROLLER__']); } return [$params, $routeName]; }
public function testParamsAreStored() { $match = new RouteMatch(array('foo' => 'bar')); $this->assertEquals(array('foo' => 'bar'), $match->getParams()); }