/** * @param RokUpdater_Uri $fromUri * @param RokUpdater_Uri $toUri * @param array<RokUpdater_Uri_Components> * * @return RokUpdater_Uri */ private static function copySpecificComponents(RokUpdater_Uri $fromUri, RokUpdater_Uri $toUri, array $components) { foreach ($components as $component) { switch ($component) { case RokUpdater_Uri_Components::SCHEME: $toUri->setScheme($fromUri->getScheme()); break; case RokUpdater_Uri_Components::USERINFO: $toUri->setUserInfo($fromUri->getUserInfo()); break; case RokUpdater_Uri_Components::HOST: $toUri->setHost($fromUri->getHost()); break; case RokUpdater_Uri_Components::PORT: $toUri->setPort($fromUri->getPort()); break; case RokUpdater_Uri_Components::PATH: $toUri->setPath($fromUri->getPath()); break; case RokUpdater_Uri_Components::QUERY: $toUri->setQuery($fromUri->getQuery()); break; case RokUpdater_Uri_Components::FRAGMENT: $toUri->setFragment($fromUri->getFragment()); break; } } return $toUri; }