- PHP >= 7.2
Install this package with Composer:
composer require codezero/php-url-builder
You create a new UrlBuilder
instance and pass it the URL you want to manipulate:
$urlBuilder = new \CodeZero\UrlBuilder\UrlBuilder('http://www.example.com/abc/def?foo=bar');
// or...
$urlBuilder = \CodeZero\UrlBuilder\UrlBuilder::make('http://www.example.com/abc/def?foo=bar');
When you are done, you can build the new URL:
$url = $urlBuilder->build(); //=> Returns 'http://www.example.com/abc/def?foo=bar'
$url = $urlBuilder->build(false); //=> Returns '/abc/def?foo=bar'
There are setters and getters for the different URL parts:
$urlBuilder->setScheme('https');
$urlBuilder->getScheme(); //=> Returns 'https'
$urlBuilder->setHost('www.example.com');
$urlBuilder->getHost(); //=> Returns 'www.example.com'
$urlBuilder->setPort(8000);
$urlBuilder->getPort(); //=> Returns '8000'
$urlBuilder->setPath('/abc/def');
$urlBuilder->getPath(); //=> Returns '/abc/def'
$urlBuilder->getSlugs(); //=> Returns ['abc', 'def']
$urlBuilder->setSlugs(['abc', 'def']);
$urlBuilder->getPath(); //=> Returns '/abc/def'
$urlBuilder->getSlugs(); //=> Returns ['abc', 'def']
$urlBuilder->setQueryString('foo=bar');
$urlBuilder->getQueryString(); //=> Returns 'foo=bar'
$urlBuilder->getQuery(); //=> Returns ['foo' => 'bar']
$urlBuilder->setQuery(['foo' => 'bar']);
$urlBuilder->getQueryString(); //=> Returns 'foo=bar'
$urlBuilder->getQuery(); //=> Returns ['foo' => 'bar']
composer test
If you discover any security related issues, please e-mail me instead of using the issue tracker.
A complete list of all notable changes to this package can be found on the releases page.
The MIT License (MIT). Please see License File for more information.