Skip to content

Commit c30a21c

Browse files
committed
Add README instructions
1 parent c2eaad9 commit c30a21c

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

README.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)