@@ -10,12 +10,12 @@ Currently available discovery services:
10
10
11
11
- HTTP Client Discovery
12
12
- HTTP Async Client Discovery
13
- - PSR-7 Message Factory Discovery
14
- - PSR-7 URI Factory Discovery
15
- - PSR-7 Stream Factory Discovery
16
13
- PSR-17 Factory Discovery
17
- - PSR-18 Client Discovery
14
+ - PSR-18 HTTP Client Discovery
18
15
- Mock Client Discovery (not enabled by default)
16
+ - PSR-7 Message Factory Discovery (deprecated)
17
+ - PSR-7 URI Factory Discovery (deprecated)
18
+ - PSR-7 Stream Factory Discovery (deprecated)
19
19
20
20
The principle is always the same: you call the static ``find `` method on the discovery service if no explicit
21
21
implementation was specified. The discovery service will try to locate a suitable implementation.
@@ -187,101 +187,107 @@ This type of discovery finds a HTTP asynchronous Client implementation::
187
187
}
188
188
}
189
189
190
- PSR-7 Message Factory Discovery
191
- -------------------------------
190
+ PSR-17 Factory Discovery
191
+ ------------------------
192
192
193
- This type of discovery finds a :ref: `message-factory ` for a PSR-7 _ Message
194
- implementation::
193
+ This type of discovery finds a factory for a PSR-17 _ implementation::
195
194
196
- use Http\Message\MessageFactory;
197
- use Http\Discovery\MessageFactoryDiscovery;
195
+ use Psr\Http\Message\RequestFactoryInterface;
196
+ use Psr\Http\Message\ResponseFactoryInterface;
197
+ use Http\Discovery\Psr17FactoryDiscovery;
198
198
199
199
class MyClass
200
200
{
201
201
/**
202
- * @var MessageFactory
202
+ * @var RequestFactoryInterface
203
203
*/
204
- private $messageFactory ;
204
+ private $requestFactory ;
205
205
206
206
/**
207
- * @param MessageFactory|null $messageFactory to create PSR-7 requests.
207
+ * @var ResponseFactoryInterface
208
208
*/
209
- public function __construct(MessageFactory $messageFactory = null)
209
+ private $responseFactory;
210
+
211
+ public function __construct(RequestFactoryInterface $requestFactory = null, ResponseFactoryInterface $responseFactory = null)
210
212
{
211
- $this->messageFactory = $messageFactory ?: MessageFactoryDiscovery::find();
213
+ $this->requestFactory = $requestFactory ?: Psr17FactoryDiscovery::findRequestFactory();
214
+ $this->responseFactory = $responseFactory ?: Psr17FactoryDiscovery::findResponseFactory();
212
215
}
213
216
}
214
217
215
- PSR-7 URI Factory Discovery
216
- ---------------------------
218
+ PSR-18 Client Discovery
219
+ -----------------------
217
220
218
- This type of discovery finds a URI factory for a PSR-7 _ URI implementation::
221
+ This type of discovery finds a PSR-18 _ HTTP Client implementation::
219
222
220
- use Http\Message\UriFactory ;
221
- use Http\Discovery\UriFactoryDiscovery ;
223
+ use Psr\ Http\Client\ClientInterface ;
224
+ use Http\Discovery\Psr18ClientDiscovery ;
222
225
223
226
class MyClass
224
227
{
225
228
/**
226
- * @var UriFactory
229
+ * @var ClientInterface
227
230
*/
228
- private $uriFactory ;
231
+ private $httpClient ;
229
232
230
- /**
231
- * @param UriFactory|null $uriFactory to create UriInterface instances from strings.
232
- */
233
- public function __construct(UriFactory $uriFactory = null)
233
+ public function __construct(ClientInterface $httpClient = null)
234
234
{
235
- $this->uriFactory = $uriFactory ?: UriFactoryDiscovery ::find();
235
+ $this->httpClient = $httpClient ?: Psr18ClientDiscovery ::find();
236
236
}
237
237
}
238
-
239
- PSR-17 Factory Discovery
240
- ------------------------
241
238
242
- This type of discovery finds a factory for a PSR-17 _ implementation::
239
+ PSR-7 Message Factory Discovery
240
+ -------------------------------
243
241
244
- use Psr\Http\Message\RequestFactoryInterface;
245
- use Psr\Http\Message\ResponseFactoryInterface;
246
- use Http\Discovery\Psr17FactoryDiscovery;
242
+ .. versionadded :: 1.6
243
+ This is deprecated and will be removed in 2.0. Consider using PSR-17 Factory Discovery.
244
+
245
+ This type of discovery finds a :ref: `message-factory ` for a PSR-7 _ Message
246
+ implementation::
247
+
248
+ use Http\Message\MessageFactory;
249
+ use Http\Discovery\MessageFactoryDiscovery;
247
250
248
251
class MyClass
249
252
{
250
253
/**
251
- * @var RequestFactoryInterface
254
+ * @var MessageFactory
252
255
*/
253
- private $requestFactory ;
254
-
256
+ private $messageFactory ;
257
+
255
258
/**
256
- * @var ResponseFactoryInterface
259
+ * @param MessageFactory|null $messageFactory to create PSR-7 requests.
257
260
*/
258
- private $responseFactory;
259
-
260
- public function __construct(RequestFactoryInterface $requestFactory = null, ResponseFactoryInterface $responseFactory = null)
261
+ public function __construct(MessageFactory $messageFactory = null)
261
262
{
262
- $this->requestFactory = $requestFactory ?: Psr17FactoryDiscovery::findRequestFactory();
263
- $this->responseFactory = $responseFactory ?: Psr17FactoryDiscovery::findResponseFactory();
263
+ $this->messageFactory = $messageFactory ?: MessageFactoryDiscovery::find();
264
264
}
265
265
}
266
266
267
- PSR-18 Client Discovery
268
- -----------------------
267
+ PSR-7 URI Factory Discovery
268
+ ---------------------------
269
269
270
- This type of discovery finds a PSR-18 _ HTTP Client implementation::
270
+ .. versionadded :: 1.6
271
+ This is deprecated and will be removed in 2.0. Consider using PSR-17 Factory Discovery.
271
272
272
- use Psr\Http\Client\ClientInterface;
273
- use Http\Discovery\Psr18ClientDiscovery;
273
+ This type of discovery finds a URI factory for a PSR-7 _ URI implementation::
274
+
275
+ use Http\Message\UriFactory;
276
+ use Http\Discovery\UriFactoryDiscovery;
274
277
275
278
class MyClass
276
279
{
277
280
/**
278
- * @var ClientInterface
281
+ * @var UriFactory
279
282
*/
280
- private $httpClient ;
283
+ private $uriFactory ;
281
284
282
- public function __construct(ClientInterface $httpClient = null)
285
+ /**
286
+ * @param UriFactory|null $uriFactory to create UriInterface instances from strings.
287
+ */
288
+ public function __construct(UriFactory $uriFactory = null)
283
289
{
284
- $this->httpClient = $httpClient ?: Psr18ClientDiscovery ::find();
290
+ $this->uriFactory = $uriFactory ?: UriFactoryDiscovery ::find();
285
291
}
286
292
}
287
293
0 commit comments