/** * Compute path from route. * * @param Route $route * @param array $parameters * * @return string */ private static function computePath(Route $route, array $parameters) { $tokens = $route->getRegex()->getTokens(); $path = ''; foreach ($tokens as $i => $token) { if ('text' === $token['type']) { $path .= $token['path']; continue; } if (count($tokens) - 1 === $i && self::isDefaultParameter($route, $token, $parameters)) { continue; } $path .= $token['preceding']; if (isset($parameters[$token['variable']])) { $path .= $parameters[$token['variable']]; } } return $path; }