@@ -27,7 +27,7 @@ Basic usage:
27
27
28
28
use Enqueue\Dsn\Dsn;
29
29
30
- $dsn = new Dsn('mysql+pdo://user:password@localhost:3306/database?connection_timeout=123');
30
+ $dsn = Dsn::parseFirst ('mysql+pdo://user:password@localhost:3306/database?connection_timeout=123');
31
31
32
32
$dsn->getSchemeProtocol(); // 'mysql'
33
33
$dsn->getScheme(); // 'mysql+pdo'
@@ -39,8 +39,30 @@ $dsn->getPort(); // 3306
39
39
40
40
$dsn->getQueryString(); // 'connection_timeout=123'
41
41
$dsn->getQuery(); // ['connection_timeout' => '123']
42
- $dsn->getQueryParameter('connection_timeout'); // '123'
43
- $dsn->getInt('connection_timeout'); // 123
42
+ $dsn->getString('connection_timeout'); // '123'
43
+ $dsn->getDecimal('connection_timeout'); // 123
44
+ ```
45
+
46
+ Parse Cluster DSN:
47
+
48
+ ``` php
49
+ <?php
50
+
51
+ use Enqueue\Dsn\Dsn;
52
+
53
+ $dsns = Dsn::parse('mysql+pdo://user:password@foo:3306,bar:5678/database?connection_timeout=123');
54
+
55
+ count($dsns); // 2
56
+
57
+ $dsns[0]->getUser(); // 'user'
58
+ $dsns[0]->getPassword(); // 'password'
59
+ $dsns[0]->getHost(); // 'foo'
60
+ $dsns[0]->getPort(); // 3306
61
+
62
+ $dsns[1]->getUser(); // 'user'
63
+ $dsns[1]->getPassword(); // 'password'
64
+ $dsns[1]->getHost(); // 'bar'
65
+ $dsns[1]->getPort(); // 5678
44
66
```
45
67
46
68
Some parts could be omitted:
@@ -49,7 +71,7 @@ Some parts could be omitted:
49
71
<?php
50
72
use Enqueue\Dsn\Dsn;
51
73
52
- $dsn = new Dsn('sqs:?key=aKey&secret=aSecret&token=aToken');
74
+ $dsn = Dsn::parseFirst ('sqs:?key=aKey&secret=aSecret&token=aToken');
53
75
54
76
$dsn->getSchemeProtocol(); // 'sqs'
55
77
$dsn->getScheme(); // 'sqs'
@@ -59,8 +81,24 @@ $dsn->getPassword(); // null
59
81
$dsn->getHost(); // null
60
82
$dsn->getPort(); // null
61
83
62
- $dsn->getQueryParameter('key'); // 'aKey'
63
- $dsn->getQueryParameter('secret'); // 'aSecret'
84
+ $dsn->getString('key'); // 'aKey'
85
+ $dsn->getString('secret'); // 'aSecret'
86
+ ```
87
+
88
+ Get typed query params:
89
+
90
+ ``` php
91
+ <?php
92
+ use Enqueue\Dsn\Dsn;
93
+
94
+ $dsn = Dsn::parseFirst('sqs:?decimal=12&octal=0666&float=1.2&bool=1&array[0]=val');
95
+
96
+ $dsn->getDecimal('decimal'); // 12
97
+ $dsn->getOctal('decimal'); // 0666
98
+ $dsn->getFloat('float'); // 1.2
99
+ $dsn->getBool('bool'); // true
100
+ $dsn->getArray('array')->getString(0); // val
101
+ $dsn->getArray('array')->toArray(); // [val]
64
102
```
65
103
66
104
Throws exception if DSN not valid:
@@ -69,7 +107,7 @@ Throws exception if DSN not valid:
69
107
<?php
70
108
use Enqueue\Dsn\Dsn;
71
109
72
- $dsn = new Dsn('foo'); // throws exception here
110
+ $dsn = Dsn::parseFirst ('foo'); // throws exception here
73
111
```
74
112
75
113
Throws exception if cannot cast query parameter:
@@ -78,9 +116,9 @@ Throws exception if cannot cast query parameter:
78
116
<?php
79
117
use Enqueue\Dsn\Dsn;
80
118
81
- $dsn = new Dsn('mysql:?connection_timeout=notInt');
119
+ $dsn = Dsn::parseFirst ('mysql:?connection_timeout=notInt');
82
120
83
- $dsn->getInt ('connection_timeout'); // throws exception here
121
+ $dsn->getDecimal ('connection_timeout'); // throws exception here
84
122
```
85
123
86
124
[ back to index] ( index.md )
0 commit comments