This is a basic and lightweight implementation of the
Psr\Http\Message\UriInterface
and the Psr\Http\Message\UriFactoryInterface
.
It doesn't add any extra methods, they are straight and direct implementations without any overhead.
It's useful in cases where you simply just want URI abstraction,
but not a full HTTP layer with it. It's also useful for library
authors for testing with dependencies on Psr\Http\Message\UriInterface
composer req talesoft/tale-uri
Check out the Functions File to see all things this library does.
use function Tale\uri_parse;
$uri = uri_parse('https://google.com/search');
//$uri is a strict implementation of PSR-7's UriInterface
echo $uri->getScheme(); //"https"
echo $uri->getHost(); "google.com"
echo $uri->getPath(); //"/search"
echo $uri->withHost("talesoft.codes"); "https://talesoft.codes/search"
use Psr\Http\Message\UriFactoryInterface;
use Tale\UriFactory;
$container->add(UriFactory::class);
//...
$uriFactory = $container->get(UriFactoryInterface::class);
$uri = $uriFactory->createUri('https://example.com#test');
echo $uri->getFragment(); //"test"