1 | # Interfaces
|
---|
2 |
|
---|
3 | The purpose of this list is to help in finding the methods when working with PSR-7. This can be considered as a cheatsheet for PSR-7 interfaces.
|
---|
4 |
|
---|
5 | The interfaces defined in PSR-7 are the following:
|
---|
6 |
|
---|
7 | | Class Name | Description |
|
---|
8 | |---|---|
|
---|
9 | | [Psr\Http\Message\MessageInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessagemessageinterface) | Representation of a HTTP message |
|
---|
10 | | [Psr\Http\Message\RequestInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessagerequestinterface) | Representation of an outgoing, client-side request. |
|
---|
11 | | [Psr\Http\Message\ServerRequestInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessageserverrequestinterface) | Representation of an incoming, server-side HTTP request. |
|
---|
12 | | [Psr\Http\Message\ResponseInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessageresponseinterface) | Representation of an outgoing, server-side response. |
|
---|
13 | | [Psr\Http\Message\StreamInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessagestreaminterface) | Describes a data stream |
|
---|
14 | | [Psr\Http\Message\UriInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessageuriinterface) | Value object representing a URI. |
|
---|
15 | | [Psr\Http\Message\UploadedFileInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessageuploadedfileinterface) | Value object representing a file uploaded through an HTTP request. |
|
---|
16 |
|
---|
17 | ## `Psr\Http\Message\MessageInterface` Methods
|
---|
18 |
|
---|
19 | | Method Name | Description | Notes |
|
---|
20 | |------------------------------------| ----------- | ----- |
|
---|
21 | | `getProtocolVersion()` | Retrieve HTTP protocol version | 1.0 or 1.1 |
|
---|
22 | | `withProtocolVersion($version)` | Returns new message instance with given HTTP protocol version | |
|
---|
23 | | `getHeaders()` | Retrieve all HTTP Headers | [Request Header List](https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Request_fields), [Response Header List](https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Response_fields) |
|
---|
24 | | `hasHeader($name)` | Checks if HTTP Header with given name exists | |
|
---|
25 | | `getHeader($name)` | Retrieves a array with the values for a single header | |
|
---|
26 | | `getHeaderLine($name)` | Retrieves a comma-separated string of the values for a single header | |
|
---|
27 | | `withHeader($name, $value)` | Returns new message instance with given HTTP Header | if the header existed in the original instance, replaces the header value from the original message with the value provided when creating the new instance. |
|
---|
28 | | `withAddedHeader($name, $value)` | Returns new message instance with appended value to given header | If header already exists value will be appended, if not a new header will be created |
|
---|
29 | | `withoutHeader($name)` | Removes HTTP Header with given name| |
|
---|
30 | | `getBody()` | Retrieves the HTTP Message Body | Returns object implementing `StreamInterface`|
|
---|
31 | | `withBody(StreamInterface $body)` | Returns new message instance with given HTTP Message Body | |
|
---|
32 |
|
---|
33 |
|
---|
34 | ## `Psr\Http\Message\RequestInterface` Methods
|
---|
35 |
|
---|
36 | Same methods as `Psr\Http\Message\MessageInterface` + the following methods:
|
---|
37 |
|
---|
38 | | Method Name | Description | Notes |
|
---|
39 | |------------------------------------| ----------- | ----- |
|
---|
40 | | `getRequestTarget()` | Retrieves the message's request target | origin-form, absolute-form, authority-form, asterisk-form ([RFC7230](https://www.rfc-editor.org/rfc/rfc7230.txt)) |
|
---|
41 | | `withRequestTarget($requestTarget)` | Return a new message instance with the specific request-target | |
|
---|
42 | | `getMethod()` | Retrieves the HTTP method of the request. | GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE (defined in [RFC7231](https://tools.ietf.org/html/rfc7231)), PATCH (defined in [RFC5789](https://tools.ietf.org/html/rfc5789)) |
|
---|
43 | | `withMethod($method)` | Returns a new message instance with the provided HTTP method | |
|
---|
44 | | `getUri()` | Retrieves the URI instance | |
|
---|
45 | | `withUri(UriInterface $uri, $preserveHost = false)` | Returns a new message instance with the provided URI | |
|
---|
46 |
|
---|
47 |
|
---|
48 | ## `Psr\Http\Message\ServerRequestInterface` Methods
|
---|
49 |
|
---|
50 | Same methods as `Psr\Http\Message\RequestInterface` + the following methods:
|
---|
51 |
|
---|
52 | | Method Name | Description | Notes |
|
---|
53 | |------------------------------------| ----------- | ----- |
|
---|
54 | | `getServerParams() ` | Retrieve server parameters | Typically derived from `$_SERVER` |
|
---|
55 | | `getCookieParams()` | Retrieves cookies sent by the client to the server. | Typically derived from `$_COOKIES` |
|
---|
56 | | `withCookieParams(array $cookies)` | Returns a new request instance with the specified cookies | |
|
---|
57 | | `withQueryParams(array $query)` | Returns a new request instance with the specified query string arguments | |
|
---|
58 | | `getUploadedFiles()` | Retrieve normalized file upload data | |
|
---|
59 | | `withUploadedFiles(array $uploadedFiles)` | Returns a new request instance with the specified uploaded files | |
|
---|
60 | | `getParsedBody()` | Retrieve any parameters provided in the request body | |
|
---|
61 | | `withParsedBody($data)` | Returns a new request instance with the specified body parameters | |
|
---|
62 | | `getAttributes()` | Retrieve attributes derived from the request | |
|
---|
63 | | `getAttribute($name, $default = null)` | Retrieve a single derived request attribute | |
|
---|
64 | | `withAttribute($name, $value)` | Returns a new request instance with the specified derived request attribute | |
|
---|
65 | | `withoutAttribute($name)` | Returns a new request instance that without the specified derived request attribute | |
|
---|
66 |
|
---|
67 | ## `Psr\Http\Message\ResponseInterface` Methods:
|
---|
68 |
|
---|
69 | Same methods as `Psr\Http\Message\MessageInterface` + the following methods:
|
---|
70 |
|
---|
71 | | Method Name | Description | Notes |
|
---|
72 | |------------------------------------| ----------- | ----- |
|
---|
73 | | `getStatusCode()` | Gets the response status code. | |
|
---|
74 | | `withStatus($code, $reasonPhrase = '')` | Returns a new response instance with the specified status code and, optionally, reason phrase. | |
|
---|
75 | | `getReasonPhrase()` | Gets the response reason phrase associated with the status code. | |
|
---|
76 |
|
---|
77 | ## `Psr\Http\Message\StreamInterface` Methods
|
---|
78 |
|
---|
79 | | Method Name | Description | Notes |
|
---|
80 | |------------------------------------| ----------- | ----- |
|
---|
81 | | `__toString()` | Reads all data from the stream into a string, from the beginning to end. | |
|
---|
82 | | `close()` | Closes the stream and any underlying resources. | |
|
---|
83 | | `detach()` | Separates any underlying resources from the stream. | |
|
---|
84 | | `getSize()` | Get the size of the stream if known. | |
|
---|
85 | | `eof()` | Returns true if the stream is at the end of the stream.| |
|
---|
86 | | `isSeekable()` | Returns whether or not the stream is seekable. | |
|
---|
87 | | `seek($offset, $whence = SEEK_SET)` | Seek to a position in the stream. | |
|
---|
88 | | `rewind()` | Seek to the beginning of the stream. | |
|
---|
89 | | `isWritable()` | Returns whether or not the stream is writable. | |
|
---|
90 | | `write($string)` | Write data to the stream. | |
|
---|
91 | | `isReadable()` | Returns whether or not the stream is readable. | |
|
---|
92 | | `read($length)` | Read data from the stream. | |
|
---|
93 | | `getContents()` | Returns the remaining contents in a string | |
|
---|
94 | | `getMetadata($key = null)()` | Get stream metadata as an associative array or retrieve a specific key. | |
|
---|
95 |
|
---|
96 | ## `Psr\Http\Message\UriInterface` Methods
|
---|
97 |
|
---|
98 | | Method Name | Description | Notes |
|
---|
99 | |------------------------------------| ----------- | ----- |
|
---|
100 | | `getScheme()` | Retrieve the scheme component of the URI. | |
|
---|
101 | | `getAuthority()` | Retrieve the authority component of the URI. | |
|
---|
102 | | `getUserInfo()` | Retrieve the user information component of the URI. | |
|
---|
103 | | `getHost()` | Retrieve the host component of the URI. | |
|
---|
104 | | `getPort()` | Retrieve the port component of the URI. | |
|
---|
105 | | `getPath()` | Retrieve the path component of the URI. | |
|
---|
106 | | `getQuery()` | Retrieve the query string of the URI. | |
|
---|
107 | | `getFragment()` | Retrieve the fragment component of the URI. | |
|
---|
108 | | `withScheme($scheme)` | Return an instance with the specified scheme. | |
|
---|
109 | | `withUserInfo($user, $password = null)` | Return an instance with the specified user information. | |
|
---|
110 | | `withHost($host)` | Return an instance with the specified host. | |
|
---|
111 | | `withPort($port)` | Return an instance with the specified port. | |
|
---|
112 | | `withPath($path)` | Return an instance with the specified path. | |
|
---|
113 | | `withQuery($query)` | Return an instance with the specified query string. | |
|
---|
114 | | `withFragment($fragment)` | Return an instance with the specified URI fragment. | |
|
---|
115 | | `__toString()` | Return the string representation as a URI reference. | |
|
---|
116 |
|
---|
117 | ## `Psr\Http\Message\UploadedFileInterface` Methods
|
---|
118 |
|
---|
119 | | Method Name | Description | Notes |
|
---|
120 | |------------------------------------| ----------- | ----- |
|
---|
121 | | `getStream()` | Retrieve a stream representing the uploaded file. | |
|
---|
122 | | `moveTo($targetPath)` | Move the uploaded file to a new location. | |
|
---|
123 | | `getSize()` | Retrieve the file size. | |
|
---|
124 | | `getError()` | Retrieve the error associated with the uploaded file. | |
|
---|
125 | | `getClientFilename()` | Retrieve the filename sent by the client. | |
|
---|
126 | | `getClientMediaType()` | Retrieve the media type sent by the client. | |
|
---|
127 |
|
---|
128 | > `RequestInterface`, `ServerRequestInterface`, `ResponseInterface` extend `MessageInterface` because the `Request` and the `Response` are `HTTP Messages`.
|
---|
129 | > When using `ServerRequestInterface`, both `RequestInterface` and `Psr\Http\Message\MessageInterface` methods are considered.
|
---|
130 |
|
---|