Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * @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];
 }
Пример #3
0
 public function testParamsAreStored()
 {
     $match = new RouteMatch(array('foo' => 'bar'));
     $this->assertEquals(array('foo' => 'bar'), $match->getParams());
 }