@@ -23,7 +23,51 @@ composer require codezero/php-url-builder
2323
2424## 📘 Usage
2525
26+ You create a new ` UrlBuilder ` instance and pass it the URL you want to manipulate:
2627
28+ ``` php
29+ $urlBuilder = new \CodeZero\UrlBuilder\UrlBuilder('http://www.example.com/abc/def?foo=bar');
30+ // or...
31+ $urlBuilder = \CodeZero\UrlBuilder\UrlBuilder::make('http://www.example.com/abc/def?foo=bar');
32+ ```
33+
34+ When you are done, you can build the new URL:
35+
36+ ``` php
37+ $url = $urlBuilder->build(); //=> Returns 'http://www.example.com/abc/def?foo=bar'
38+ $url = $urlBuilder->build(false); //=> Returns '/abc/def?foo=bar'
39+ ```
40+
41+ ### Updating URL Parts
42+
43+ There are setters and getters for the different URL parts:
44+
45+ ``` php
46+ $urlBuilder->setScheme('https');
47+ $urlBuilder->getScheme(); //=> Returns 'https'
48+
49+ $urlBuilder->setHost('www.example.com');
50+ $urlBuilder->getHost(); //=> Returns 'www.example.com'
51+
52+ $urlBuilder->setPort(8000);
53+ $urlBuilder->getPort(); //=> Returns '8000'
54+
55+ $urlBuilder->setPath('/abc/def');
56+ $urlBuilder->getPath(); //=> Returns '/abc/def'
57+ $urlBuilder->getSlugs(); //=> Returns ['abc', 'def']
58+
59+ $urlBuilder->setSlugs(['abc', 'def']);
60+ $urlBuilder->getPath(); //=> Returns '/abc/def'
61+ $urlBuilder->getSlugs(); //=> Returns ['abc', 'def']
62+
63+ $urlBuilder->setQueryString('foo=bar');
64+ $urlBuilder->getQueryString(); //=> Returns 'foo=bar'
65+ $urlBuilder->getQuery(); //=> Returns ['foo' => 'bar']
66+
67+ $urlBuilder->setQuery(['foo' => 'bar']);
68+ $urlBuilder->getQueryString(); //=> Returns 'foo=bar'
69+ $urlBuilder->getQuery(); //=> Returns ['foo' => 'bar']
70+ ```
2771
2872## 🚧 Testing
2973
0 commit comments