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-uriCheck 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"