2021-01-31 11:05:37 +01:00
|
|
|
# PSR-7
|
|
|
|
|
|
|
|
## [PSR-7](https://www.php-fig.org/psr/psr-7/)
|
|
|
|
|
2021-09-20 19:35:32 +02:00
|
|
|
Standard of the PHP Framework Interop Group that defines common interfaces for handling HTTP messages.
|
2021-01-31 11:05:37 +01:00
|
|
|
|
|
|
|
- `Psr\Http\Message\MessageInterface`
|
|
|
|
- `Psr\Http\Message\RequestInterface`
|
|
|
|
- `Psr\Http\Message\ResponseInterface`
|
|
|
|
- `Psr\Http\Message\ServerRequestInterface`
|
|
|
|
- `Psr\Http\Message\StreamInterface`
|
|
|
|
- `Psr\Http\Message\UploadedFileInterface`
|
|
|
|
- `Psr\Http\Message\UriInterface`
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
```php
|
|
|
|
// empty array if not found
|
|
|
|
$header = $request->getHeader('Accept');
|
|
|
|
|
|
|
|
// empty string if not found
|
|
|
|
$header = $request->getHeaderLine('Accept');
|
|
|
|
|
|
|
|
// check the presence of a header
|
|
|
|
if (! $request->hasHeader('Accept')) {}
|
|
|
|
|
|
|
|
// returns the parameters in a query string
|
|
|
|
$query = $request->getQueryParams();
|
|
|
|
```
|
|
|
|
|
|
|
|
### Immutability
|
|
|
|
|
|
|
|
PSR-7 requests are *immutable* objects; a change in the data will return a new instance of the object.
|
|
|
|
The stream objects of PSR-7 are *not immutable*.
|