/** * Generate route request by route name. * * @param string $name * @param array $parameters * * @return RequestContext */ public function generateRoute($name, array $parameters = array()) { $route = $this->collection->get($name); if (null === $route) { throw new InvalidArgumentException(sprintf('Route with name "%s" not found.', $name)); } $request = RequestContext::createFromRoute($route, $parameters); if (false === $this->isMatch($route, $request)) { throw new InvalidArgumentException(sprintf('Failed generate route with name "%s", mismatch rules.', $name)); } return $request; }