createUri($uri); } if (class_exists(SlimUri::class)) { if (false === parse_url($uri)) { throw new \InvalidArgumentException("Invalid URI: $uri"); } return SlimUri::createFromString($uri); } if (class_exists(GuzzleUri::class)) { return new GuzzleUri($uri); } throw new \RuntimeException("No PSR-7 implementation available"); } }