/** * Returns a new route object for inspecting and generating the host. * * @param string $pattern The host pattern * @param array $defaults All defaults for the current route * @param array $requirements All requirements for the current route * @param array $options All options for the current route * * @return sfRoute */ protected function createHostRoute($pattern, $defaults, $requirements, $options) { $filteredDefaults = array(); $filteredRequirements = array(); // this temporary route is just for extracting variables from the pattern $tmp = new sfRoute($pattern); foreach (array_keys($tmp->getVariables()) as $name) { if (isset($defaults[$name])) { $filteredDefaults[$name] = $defaults[$name]; } if (isset($requirements[$name])) { $filteredRequirements[$name] = $requirements[$name]; } } return new sfRoute($pattern, $filteredDefaults, $filteredRequirements, $options); }