{"$schema":"https://yii2-framework.github.io/docs/reference/reference.schema.json","schemaVersion":1,"package":"psr-bridge","title":"PSR bridge","repository":"https://github.com/yii2-extensions/psr-bridge","ref":"main","commit":"8dfc178f2d12d07e0601f204a707b2f440f24a28","generatedAt":"2026-10-18","url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/","types":{"yii2\\extensions\\psrbridge\\adapter\\RangeStream":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/adapter/rangestream/","summary":"Read-only PSR-7 stream limited to a byte range of an underlying stream.","implements":["Psr\\Http\\Message\\StreamInterface"],"methods":{"__construct":{"signature":"public function __construct(Psr\\Http\\Message\\StreamInterface $stream, int $begin, int $end)","summary":"Creates a new instance of the `yii2\\extensions\\psrbridge\\adapter\\RangeStream` class.","params":[{"name":"$stream","type":"Psr\\Http\\Message\\StreamInterface","description":"Underlying stream to expose a bounded view of."},{"name":"$begin","type":"int","description":"Inclusive byte offset where the range starts (`0`-based, absolute in the underlying stream)."},{"name":"$end","type":"int","description":"Inclusive byte offset where the range ends (absolute in the underlying stream)."}],"throws":[{"type":"RuntimeException","description":"when the range is invalid or initial positioning fails."}]},"__toString":{"signature":"public function __toString(): string","summary":"Returns range contents as a `string`, rewinding seekable streams and returning an empty `string` on failure.","return":{"type":"string","description":"Bytes within the range, or empty `string` when any error occurs."}},"close":{"signature":"public function close(): void","summary":"Closes the underlying stream and releases the internal reference.","return":{"type":"void"}},"detach":{"signature":"public function detach(): resource|null","summary":"Closes the wrapped stream and releases the internal reference without exposing the underlying resource.","return":{"type":"resource|null","description":"Always `null`; no detachable resource can safely represent the bounded view."}},"eof":{"signature":"public function eof(): bool","summary":"Indicates whether the read cursor has reached the end of the range or the underlying stream.","return":{"type":"bool","description":"`true` when no more bytes can be read within the range; `false` otherwise."}},"getContents":{"signature":"public function getContents(): string","summary":"Reads every remaining byte within the range and returns them as a single `string`.","return":{"type":"string","description":"Concatenation of every chunk read until the end of the range or underlying stream EOF."}},"getMetadata":{"signature":"public function getMetadata(string|null $key = null): mixed","summary":"Returns metadata associated with this bounded stream view.","params":[{"name":"$key","type":"string|null","default":"null","optional":true,"description":"Specific metadata key, or `null` to return the full metadata array."}],"return":{"type":"mixed","description":"Metadata value for `$key`, the full metadata array when `$key` is `null`, or `null` when no stream is available and `$key` is provided."}},"getSize":{"signature":"public function getSize(): int|null","summary":"Returns the size of the range, not the size of the underlying stream.","return":{"type":"int|null","description":"Length of the range in bytes, or `null` after the underlying stream has been detached or closed."}},"isReadable":{"signature":"public function isReadable(): bool","summary":"Indicates whether the underlying stream reports as readable.","return":{"type":"bool","description":"`true` when the underlying stream is readable; `false` otherwise or when no stream is available."}},"isSeekable":{"signature":"public function isSeekable(): bool","summary":"Indicates whether seeking within the range is supported.","return":{"type":"bool","description":"`true` when the underlying stream is seekable; `false` otherwise or when no stream is available."}},"isWritable":{"signature":"public function isWritable(): bool","summary":"Indicates that the stream is read-only.","return":{"type":"bool","description":"Always `false`; range streams reject all writes."}},"read":{"signature":"public function read(int $length): string","summary":"Reads up to `$length` bytes from the current position, capped at the bytes remaining in the range.","params":[{"name":"$length","type":"int","description":"Maximum number of bytes to read."}],"return":{"type":"string","description":"Bytes read, or empty `string` at EOF, when closed or detached, or when `$length` is `0`."},"throws":[{"type":"RuntimeException","description":"when the length is negative or an underlying operation fails."}]},"rewind":{"signature":"public function rewind(): void","summary":"Rewinds the read cursor to the start of the range.","return":{"type":"void"},"throws":[{"type":"RuntimeException","description":"when the stream is closed or seeking fails."}]},"seek":{"signature":"public function seek(int $offset, int $whence = \\SEEK_SET): void","summary":"Seeks to an offset relative to the range, clamped to `[0, $length]`.","params":[{"name":"$offset","type":"int","description":"Byte offset to seek to, interpreted according to `$whence`."},{"name":"$whence","type":"int","default":"\\SEEK_SET","optional":true,"description":"One of `SEEK_SET` (absolute), `SEEK_CUR` (relative to current), `SEEK_END` (relative to end)."}],"return":{"type":"void"},"throws":[{"type":"RuntimeException","description":"when the target/mode is invalid, the stream is closed, or seeking fails."}]},"tell":{"signature":"public function tell(): int","summary":"Returns the current read position relative to the start of the range.","return":{"type":"int","description":"Position in bytes within `[0, $length]`."},"throws":[{"type":"RuntimeException","description":"when the stream is closed or its position is unavailable."}]},"write":{"signature":"public function write(string $string): int","summary":"Rejects every write attempt because the stream is read-only.","params":[{"name":"$string","type":"string","description":"Bytes the caller attempted to write (ignored)."}],"return":{"type":"int","description":"Never returns; included to satisfy the `StreamInterface` contract."},"throws":[{"type":"RuntimeException","description":"always."}]}}},"yii2\\extensions\\psrbridge\\adapter\\ResponseAdapter":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/adapter/responseadapter/","summary":"Adapts Yii responses to PSR-7 responses.","methods":{"__construct":{"signature":"public function __construct(yii2\\extensions\\psrbridge\\http\\Response $psrResponse, Psr\\Http\\Message\\ResponseFactoryInterface $responseFactory, Psr\\Http\\Message\\StreamFactoryInterface $streamFactory, yii\\base\\Security $security)","summary":"Creates a new instance of the `yii2\\extensions\\psrbridge\\adapter\\ResponseAdapter` class.","params":[{"name":"$psrResponse","type":"yii2\\extensions\\psrbridge\\http\\Response","description":"Yii Response instance to adapt."},{"name":"$responseFactory","type":"Psr\\Http\\Message\\ResponseFactoryInterface","description":"PSR-7 ResponseFactoryInterface instance for response creation."},{"name":"$streamFactory","type":"Psr\\Http\\Message\\StreamFactoryInterface","description":"PSR-7 StreamFactoryInterface instance for body stream creation."},{"name":"$security","type":"yii\\base\\Security","description":"Security component used to sign outgoing cookie values."}]},"toPsr7":{"signature":"public function toPsr7(): Psr\\Http\\Message\\ResponseInterface","summary":"Converts the Yii Response instance to a PSR-7 ResponseInterface.","return":{"type":"Psr\\Http\\Message\\ResponseInterface","description":"PSR-7 ResponseInterface instance with headers, cookies, and body content."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"if the configuration is invalid or incomplete."}]}}},"yii2\\extensions\\psrbridge\\adapter\\ServerRequestAdapter":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/adapter/serverrequestadapter/","summary":"Adapts PSR-7 server requests to Yii request expectations.","properties":{"psrRequest":{"type":"Psr\\Http\\Message\\ServerRequestInterface","description":"Adapted PSR-7 ServerRequestInterface instance.","readonly":true}},"methods":{"__construct":{"signature":"public function __construct(Psr\\Http\\Message\\ServerRequestInterface $psrRequest, array<string, class-string<object>|array{class?: class-string<object>, __class?: class-string<object>}|callable(): object> $parsers = [])","summary":"Adapts a PSR-7 request and parses its body when a matching parser is configured.","params":[{"name":"$psrRequest","type":"Psr\\Http\\Message\\ServerRequestInterface","description":"Request to adapt."},{"name":"$parsers","type":"array<string, class-string<object>|array{class?: class-string<object>, __class?: class-string<object>}|callable(): object>","default":"[]","optional":true,"description":"Content-Type parser definitions."}],"throws":[{"type":"yii\\base\\InvalidConfigException","description":"if a configured parser does not implement RequestParserInterface."}]},"getBodyParams":{"signature":"public function getBodyParams(string $methodParam): mixed[]|object","summary":"Returns the parsed body, removing the method override key from array bodies when it is non-`null`.","params":[{"name":"$methodParam","type":"string","description":"Method override key to exclude."}],"return":{"type":"mixed[]|object","description":"Body parameters, or `[]` when no parsed body exists."}},"getCookies":{"signature":"public function getCookies(bool $enableValidation, string $validationKey = ''): yii\\web\\Cookie[]","summary":"Returns PSR cookies with optional Yii signature and encoded-name validation.","params":[{"name":"$enableValidation","type":"bool","description":"Whether to require signed Yii cookie values."},{"name":"$validationKey","type":"string","default":"''","optional":true,"description":"Secret key, required when validation is enabled."}],"return":{"type":"yii\\web\\Cookie[]","description":"Accepted cookies, keyed by cookie name."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when validation is enabled without a key."}]},"getHeaders":{"signature":"public function getHeaders(): yii\\web\\HeaderCollection","summary":"Retrieves all HTTP headers from the PSR-7 ServerRequestInterface as a Yii HeaderCollection instance.","return":{"type":"yii\\web\\HeaderCollection","description":"Collection of HTTP headers from the PSR-7 ServerRequestInterface."}},"getMethod":{"signature":"public function getMethod(string $methodParam = '_method'): string","summary":"Retrieves the HTTP method for the current request, supporting method override via body or header.","params":[{"name":"$methodParam","type":"string","default":"'_method'","optional":true,"description":"Name of the HTTP method override parameter to check in the body (default: `_method`)."}],"return":{"type":"string","description":"Resolved HTTP method for the request."}},"getParsedBody":{"signature":"public function getParsedBody(): mixed[]|object|null","summary":"Retrieves the parsed body parameters from the PSR-7 ServerRequestInterface.","return":{"type":"mixed[]|object|null","description":"Parsed body parameters, or `null` if not present."}},"getQueryParams":{"signature":"public function getQueryParams(): mixed[]","summary":"Returns query parameters from the attached PSR request.","return":{"type":"mixed[]","description":"Query parameters."}},"getQueryString":{"signature":"public function getQueryString(): string","summary":"Retrieves the raw query string from the PSR-7 ServerRequestInterface URI.","return":{"type":"string","description":"Raw query string from the request URI, or an empty string if not present."}},"getRawBody":{"signature":"public function getRawBody(): string","summary":"Retrieves the raw body content from the PSR-7 ServerRequestInterface stream.","return":{"type":"string","description":"Raw body content from the PSR-7 ServerRequestInterface stream."}},"getServerParams":{"signature":"public function getServerParams(): mixed[]","summary":"Retrieves server parameters from the PSR-7 ServerRequestInterface.","return":{"type":"mixed[]","description":"Server parameters."}},"getUploadedFiles":{"signature":"public function getUploadedFiles(): mixed[]","summary":"Retrieves uploaded files from the PSR-7 ServerRequestInterface.","return":{"type":"mixed[]","description":"Uploaded files."}},"getUrl":{"signature":"public function getUrl(): string","summary":"Retrieves the request URL path and query string from the PSR-7 URI.","return":{"type":"string","description":"Request URL path and query string, excluding scheme, host, and fragment."}}}},"yii2\\extensions\\psrbridge\\creator\\ServerRequestCreator":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/creator/serverrequestcreator/","summary":"Creates PSR-7 server requests from PHP globals.","methods":{"__construct":{"signature":"public function __construct(Psr\\Http\\Message\\ServerRequestFactoryInterface $serverRequestFactory, Psr\\Http\\Message\\StreamFactoryInterface $streamFactory, Psr\\Http\\Message\\UploadedFileFactoryInterface $uploadedFileFactory)","summary":"Creates a new instance of the `yii2\\extensions\\psrbridge\\creator\\ServerRequestCreator` class.","params":[{"name":"$serverRequestFactory","type":"Psr\\Http\\Message\\ServerRequestFactoryInterface","description":"Factory to create server requests."},{"name":"$streamFactory","type":"Psr\\Http\\Message\\StreamFactoryInterface","description":"Factory to create streams."},{"name":"$uploadedFileFactory","type":"Psr\\Http\\Message\\UploadedFileFactoryInterface","description":"Factory to create uploaded files."}]},"createFromGlobals":{"signature":"public function createFromGlobals(): Psr\\Http\\Message\\ServerRequestInterface","summary":"Builds a PSR request from the current SAPI globals and attaches a `php://input` body when available.","return":{"type":"Psr\\Http\\Message\\ServerRequestInterface","description":"Request created from the current globals."}}}},"yii2\\extensions\\psrbridge\\creator\\UploadedFileCreator":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/creator/uploadedfilecreator/","summary":"Creates PSR-7 uploaded files from PHP file specifications.","methods":{"__construct":{"signature":"public function __construct(Psr\\Http\\Message\\UploadedFileFactoryInterface $uploadedFileFactory, Psr\\Http\\Message\\StreamFactoryInterface $streamFactory)","summary":"Creates a new instance of the `yii2\\extensions\\psrbridge\\creator\\UploadedFileCreator` class.","params":[{"name":"$uploadedFileFactory","type":"Psr\\Http\\Message\\UploadedFileFactoryInterface","description":"Factory to create uploaded files."},{"name":"$streamFactory","type":"Psr\\Http\\Message\\StreamFactoryInterface","description":"Factory to create streams."}]},"createFromArray":{"signature":"public function createFromArray(yii2\\extensions\\psrbridge\\creator\\FileSpec $file): Psr\\Http\\Message\\UploadedFileInterface","summary":"Creates an UploadedFileInterface instance from a file specification array.","params":[{"name":"$file","type":"yii2\\extensions\\psrbridge\\creator\\FileSpec","description":"File specification with required upload fields and optional name and type."}],"return":{"type":"Psr\\Http\\Message\\UploadedFileInterface","description":"Created uploaded file; failed uploads receive an empty stream."},"throws":[{"type":"yii\\base\\InvalidArgumentException","description":"when the specification is invalid or a successful upload cannot be opened."}]},"createFromGlobals":{"signature":"public function createFromGlobals(yii2\\extensions\\psrbridge\\creator\\FilesArray $files = []): yii2\\extensions\\psrbridge\\creator\\FilesArray","summary":"Creates UploadedFileInterface instances from PHP global files array.","params":[{"name":"$files","type":"yii2\\extensions\\psrbridge\\creator\\FilesArray","default":"[]","optional":true,"description":"Uploaded file specifications or PSR-7 uploaded files."}],"return":{"type":"yii2\\extensions\\psrbridge\\creator\\FilesArray","description":"Processed uploaded files, preserving nested file trees."},"throws":[{"type":"yii\\base\\InvalidArgumentException","description":"when specifications are invalid, nesting exceeds 10, or a successful upload cannot be opened."}]}}},"yii2\\extensions\\psrbridge\\emitter\\ContentRange":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/emitter/contentrange/","summary":"Represents and parses HTTP Content-Range header values.","implements":["Stringable"],"properties":{"first":{"type":"int","description":"First byte position in the range.","readonly":true,"promoted":true},"last":{"type":"int","description":"Last byte position in the range.","readonly":true,"promoted":true},"length":{"type":"int|string","description":"Total length of the resource ('*' for unknown length).","readonly":true,"promoted":true},"unit":{"type":"yii2\\extensions\\psrbridge\\emitter\\ContentRangeUnit","description":"Unit of measurement (for example, `yii2\\extensions\\psrbridge\\emitter\\ContentRangeUnit::BYTES`).","readonly":true,"promoted":true}},"methods":{"__construct":{"signature":"public function __construct(yii2\\extensions\\psrbridge\\emitter\\ContentRangeUnit $unit, int $first, int $last, int|string $length)","summary":"Creates a new instance of the `yii2\\extensions\\psrbridge\\emitter\\ContentRange` class.","params":[{"name":"$unit","type":"yii2\\extensions\\psrbridge\\emitter\\ContentRangeUnit","description":"Unit of measurement (for example, `yii2\\extensions\\psrbridge\\emitter\\ContentRangeUnit::BYTES`)."},{"name":"$first","type":"int","description":"First byte position in the range."},{"name":"$last","type":"int","description":"Last byte position in the range."},{"name":"$length","type":"int|string","description":"Total length of the resource ('*' for unknown length)."}]},"__toString":{"signature":"public function __toString(): string","summary":"Converts the Content-Range to its string representation.","return":{"type":"string","description":"String representation in format '<unit> <first>-<last>/<length>'."}},"fromHeader":{"signature":"public static function fromHeader(string $header): self|null","summary":"Creates a new `yii2\\extensions\\psrbridge\\emitter\\ContentRange` instance from a Content-Range header string.","params":[{"name":"$header","type":"string","description":"Content-Range header value to parse."}],"return":{"type":"self|null","description":"ContentRange instance if parsing succeeds, `null` if the header is invalid or unsupported or the range is inconsistent."},"static":true}}},"yii2\\extensions\\psrbridge\\emitter\\ContentRangeUnit":{"kind":"enum","url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/emitter/contentrangeunit/","summary":"Defines supported units for HTTP Content-Range headers.","backingType":"string","cases":{"BYTES":{"value":"'bytes'","description":"Bytes unit used in Content-Range headers."}}},"yii2\\extensions\\psrbridge\\emitter\\HttpNoBodyStatus":{"kind":"enum","url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/emitter/httpnobodystatus/","summary":"Defines HTTP status codes that do not allow a response body.","backingType":"int","cases":{"CONTINUE":{"value":"100","description":"'100' Continue."},"EARLY_HINTS":{"value":"103","description":"'103' Early Hints."},"NO_CONTENT":{"value":"204","description":"'204' No Content."},"NOT_MODIFIED":{"value":"304","description":"'304' Not Modified."},"PROCESSING":{"value":"102","description":"'102' Processing (WebDAV)."},"RESET_CONTENT":{"value":"205","description":"'205' Reset Content."},"SWITCHING_PROTOCOLS":{"value":"101","description":"'101' Switching Protocols."}},"methods":{"shouldHaveNoBody":{"signature":"public static function shouldHaveNoBody(int $statusCode): bool","summary":"Returns whether the status code should not include a body.","params":[{"name":"$statusCode","type":"int","description":"HTTP status code to check."}],"return":{"type":"bool","description":"`true` when the status code must not carry a body; `false` otherwise."},"static":true}}},"yii2\\extensions\\psrbridge\\emitter\\SapiEmitter":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/emitter/sapiemitter/","summary":"Emits PSR-7 responses through PHP SAPI.","methods":{"__construct":{"signature":"public function __construct(int $bufferLength = 8192)","summary":"Configures the maximum bytes read in each body-emission chunk.","params":[{"name":"$bufferLength","type":"int","default":"8192","optional":true,"description":"Positive chunk size in bytes; defaults to 8192."}],"throws":[{"type":"yii\\base\\InvalidArgumentException","description":"when the buffer length is less than 1."}]},"emit":{"signature":"public function emit(Psr\\Http\\Message\\ResponseInterface $response, bool $body = true): void","summary":"Emits status, headers, and optionally a readable body through PHP SAPI.","params":[{"name":"$response","type":"Psr\\Http\\Message\\ResponseInterface","description":"Response to emit."},{"name":"$body","type":"bool","default":"true","optional":true,"description":"Whether to emit the body when allowed by status code."}],"return":{"type":"void"},"throws":[{"type":"yii2\\extensions\\psrbridge\\exception\\HeadersAlreadySentException","description":"when PHP has already sent headers."},{"type":"yii2\\extensions\\psrbridge\\exception\\OutputAlreadySentException","description":"when the current output buffer contains bytes."},{"type":"RuntimeException","description":"when reading or positioning the body stream fails."}]}}},"yii2\\extensions\\psrbridge\\exception\\HeadersAlreadySentException":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/exception/headersalreadysentexception/","summary":"Thrown when code attempts to emit headers after headers are already sent.","extends":"yii\\base\\Exception","inherited":{"methods":{"getName":"yii\\base\\Exception"}}},"yii2\\extensions\\psrbridge\\exception\\Message":{"kind":"enum","url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/exception/message/","summary":"Defines bridge exception message templates.","backingType":"string","cases":{"BUFFER_LENGTH_INVALID":{"value":"\"Buffer length for '%s' must be greater than zero; received '%d'.\"","description":"Error when buffer length is invalid."},"COOKIE_VALIDATION_KEY_NOT_CONFIGURED":{"value":"\"'%s::cookieValidationKey' must be configured with a secret key.\"","description":"Error when the cookie validation key is not configured for a specific class."},"COOKIE_VALIDATION_KEY_REQUIRED":{"value":"'Cookie validation key must be provided.'","description":"Error when the cookie validation key is missing."},"ERROR_MUST_BE_INTEGER":{"value":"\"'error' must be an 'integer' in file specification.\"","description":"Error when 'error' is not an integer in file specification."},"FAIL_PARSING_REQUEST_BODY":{"value":"\"Unable to parse request body; '%s'.\"","description":"Error when the request body can’t be parsed."},"FAILED_CREATE_STREAM_FROM_TMP_FILE":{"value":"\"Failed to create stream from temporary file '%s'.\"","description":"Error when a stream cannot be created from a temporary file."},"INVALID_FALLBACK_REQUEST_PARSER":{"value":"\"Fallback request parser is invalid. It must implement the '%s'.\"","description":"Error when the fallback request parser is invalid."},"INVALID_OPTIONAL_ARRAY_IN_MULTI_SPEC":{"value":"\"Invalid optional '%s' array in multiple file specification for '%s'. \" . \"Expected 'array' or 'null'.\"","description":"Error when an optional array is invalid in multiple file specification."},"INVALID_REQUEST_PARSER":{"value":"\"The '%s' request parser is invalid. It must implement the '%s'.\"","description":"Error when a specific request parser is invalid."},"MAXIMUM_NESTING_DEPTH_EXCEEDED":{"value":"\"Maximum nesting depth exceeded for file uploads (limit: '%d').\"","description":"Error when the maximum nesting depth for file uploads is exceeded."},"MISMATCHED_ARRAY_STRUCTURE_ERRORS":{"value":"\"Mismatched array structure for 'errors' at key '%s'.\"","description":"Error when the array structure for errors does not match the expected format."},"MISMATCHED_ARRAY_STRUCTURE_SIZES":{"value":"\"Mismatched array structure for 'sizes' at key '%s'.\"","description":"Error when the array structure for sizes does not match the expected format."},"MISSING_OR_INVALID_ARRAY_IN_MULTI_SPEC":{"value":"\"Missing or invalid '%s' array in multiple file specification for \" . \"'%s'.\"","description":"Error when a required array is missing or invalid in multiple file specification."},"MISSING_REQUIRED_KEY_IN_FILE_SPEC":{"value":"\"Missing required key '%s' in file specification for '%s'.\"","description":"Error when a required key is missing in file specification."},"NAME_MUST_BE_STRING_OR_NULL":{"value":"\"'name' must be a 'string' or 'null' in file specification.\"","description":"Error when 'name' is not a string or null in file specification."},"PAGE_NOT_FOUND":{"value":"'Page not found.'","description":"Error when the page is not found."},"PSR7_REQUEST_ADAPTER_NOT_SET":{"value":"'PSR-7 request adapter is not set.'","description":"Error when the PSR-7 request adapter is not set."},"RANGE_STREAM_INVALID":{"value":"'Invalid stream range.'","description":"Error when the byte range has a negative start or ends before its start."},"RANGE_STREAM_NOT_WRITABLE":{"value":"'Range streams are not writable.'","description":"Error when writing to a read-only range stream."},"RANGE_STREAM_READ_LENGTH_INVALID":{"value":"'Cannot read a negative length from a stream.'","description":"Error when a requested read length is negative."},"RANGE_STREAM_SEEK_MODE_INVALID":{"value":"'Invalid seek mode.'","description":"Error when the seek mode is unsupported."},"RANGE_STREAM_SEEK_POSITION_INVALID":{"value":"'Cannot seek before the beginning of the stream range.'","description":"Error when a seek target precedes the range."},"RANGE_STREAM_UNAVAILABLE":{"value":"'No stream available.'","description":"Error when an operation needs a stream that has been closed or detached."},"RESPONSE_STREAM_FORMAT_INVALID":{"value":"\"Response stream must be an 'array' with exactly '3' elements: \" . \"['handle', 'begin', 'end'].\"","description":"Error when the response stream is not in the expected format."},"RESPONSE_STREAM_HANDLE_INVALID":{"value":"\"Stream handle must be a valid 'resource'.\"","description":"Error when the response stream handle is invalid."},"RESPONSE_STREAM_RANGE_INVALID":{"value":"'Response stream range values must be valid: ' . \"('begin' >= '0' and 'end' >= 'begin'). Received: (begin='%d', end='%d').\"","description":"Error when the response stream range values are invalid."},"RESPONSE_STREAM_RANGE_OVERFLOW":{"value":"'Response stream range length exceeds the maximum integer size.'","description":"Error when the response byte range length cannot be represented as an integer."},"RESPONSE_STREAM_READ_ERROR":{"value":"'Failed to read from response stream.'","description":"Error when unable to read from the response stream."},"SIZE_MUST_BE_INTEGER":{"value":"\"'size' must be an 'integer' in file specification.\"","description":"Error when 'size' is not an integer in file specification."},"TMP_NAME_MUST_BE_STRING":{"value":"\"'tmp_name' must be a 'string' in file specification.\"","description":"Error when 'tmp_name' is not a string in file specification."},"TYPE_MUST_BE_STRING_OR_NULL":{"value":"\"'type' must be a 'string' or 'null' in file specification.\"","description":"Error when 'type' is not a string or null in file specification."},"UNABLE_TO_EMIT_OUTPUT_HAS_BEEN_EMITTED":{"value":"'Unable to emit response; output has been emitted previously.'","description":"Error when output has already been emitted."},"UNABLE_TO_EMIT_RESPONSE_HEADERS_ALREADY_SENT":{"value":"'Unable to emit response; headers already sent.'","description":"Error when headers have already been sent."}},"methods":{"getMessage":{"signature":"public function getMessage(int|string ...$argument): string","summary":"Returns the formatted message string for the error case.","params":[{"name":"$argument","type":"int|string","optional":true,"variadic":true,"description":"Values to insert into the message template."}],"return":{"type":"string","description":"Formatted error message with interpolated arguments."}}}},"yii2\\extensions\\psrbridge\\exception\\OutputAlreadySentException":{"kind":"class","modifiers":["final"],"url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/exception/outputalreadysentexception/","summary":"Thrown when code attempts to emit a response after output is already sent.","extends":"yii\\base\\Exception","inherited":{"methods":{"getName":"yii\\base\\Exception"}}},"yii2\\extensions\\psrbridge\\http\\Application":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/http/application/","summary":"Handles PSR-7 requests with a stateless Yii application lifecycle.","extends":"yii\\web\\Application","implements":["Psr\\Http\\Server\\RequestHandlerInterface","yii\\base\\Configurable"],"properties":{"flushLogger":{"type":"bool","default":"true","description":"Flushes the logger during `finalize()` when set to `true`."},"memoryLimit":{"type":"int","description":"Limit in bytes, or `PHP_INT_MAX` for an unlimited PHP setting.","virtual":true},"persistentComponents":{"type":"array<int, string>","default":"['db', 'cache']","description":"Lists component IDs that should stay alive across requests in long-running workers."},"resetUploadedFiles":{"type":"bool","default":"true","description":"Retained for configuration compatibility; request preparation always resets uploaded file state."},"syncCookieValidation":{"type":"bool","default":"true","description":"Controls whether cookie validation settings are synchronized between request and response."},"useSession":{"type":"bool","default":"true","description":"Controls whether the session is opened before bootstrap and closed after it for each request."},"version":{"type":"string","default":"'0.3.0'","description":"Defines the application version string."}},"methods":{"__construct":{"signature":"public function __construct(mixed[] $config = [])","summary":"Initializes a new application instance.","params":[{"name":"$config","type":"mixed[]","default":"[]","optional":true,"description":"Application configuration."}]},"attachPsrRequest":{"signature":"protected function attachPsrRequest(Psr\\Http\\Message\\ServerRequestInterface $request): void","summary":"Attaches the PSR-7 request to the Yii request adapter.","params":[{"name":"$request","type":"Psr\\Http\\Message\\ServerRequestInterface","description":"Request to attach."}],"return":{"type":"void"},"visibility":"protected"},"clean":{"signature":"public function clean(): bool","summary":"Runs garbage collection and reports whether allocated memory reached 90% of the configured limit.","return":{"type":"bool","description":"Whether allocated memory is at least 90% of the limit."}},"coreComponents":{"signature":"public function coreComponents(): mixed[]","summary":"Returns Yii core components with bridge request, response, session, and error handler definitions.","return":{"type":"mixed[]","description":"Core component definitions."}},"finalize":{"signature":"public function finalize(bool $success = true): void","summary":"Completes after-send processing and worker cleanup following the runtime's emission attempt.","params":[{"name":"$success","type":"bool","default":"true","optional":true,"description":"Whether emission completed successfully."}],"return":{"type":"void"},"throws":[{"type":"Throwable","description":"when an after-send handler, event cleanup, or logger flush fails."}]},"finalizeSessionState":{"signature":"protected function finalizeSessionState(): void","summary":"Closes the session after bootstrap completes.","return":{"type":"void"},"visibility":"protected"},"getMemoryLimit":{"signature":"public function getMemoryLimit(): int","summary":"Returns the cached memory limit, parsing PHP's setting when needed.","return":{"type":"int","description":"Limit in bytes, or `PHP_INT_MAX` for an unlimited PHP setting."}},"handle":{"signature":"public function handle(Psr\\Http\\Message\\ServerRequestInterface $request): Psr\\Http\\Message\\ResponseInterface","summary":"Handles a PSR-7 request and returns the prepared response before emission.","params":[{"name":"$request","type":"Psr\\Http\\Message\\ServerRequestInterface","description":"Request to process."}],"return":{"type":"Psr\\Http\\Message\\ResponseInterface","description":"Prepared response; after-send processing remains deferred."},"throws":[{"type":"Throwable","description":"When initialization, error handling, or response conversion cannot produce a response."}]},"init":{"signature":"public function init(): void","summary":"Sets the per-request state to `STATE_INIT`; bootstrap runs after the PSR request is attached.","return":{"type":"void"}},"openSessionFromRequestCookies":{"signature":"protected function openSessionFromRequestCookies(): void","summary":"Opens the session before bootstrap when `$useSession` is `true`.","return":{"type":"void"},"visibility":"protected"},"prepareErrorHandler":{"signature":"protected function prepareErrorHandler(): void","summary":"Resets the error handler response target for the current request.","return":{"type":"void"},"visibility":"protected"},"prepareForRequest":{"signature":"protected function prepareForRequest(Psr\\Http\\Message\\ServerRequestInterface $request): void","summary":"Prepares the application state for a new PSR-7 request.","params":[{"name":"$request","type":"Psr\\Http\\Message\\ServerRequestInterface","description":"Request to bind to the Yii adapter."}],"return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when application configuration is invalid."}],"visibility":"protected"},"reinitializeApplication":{"signature":"protected function reinitializeApplication(): void","summary":"Reinitializes the application instance for the current request.","return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when application configuration is invalid."}],"visibility":"protected"},"resetRequestState":{"signature":"protected function resetRequestState(): void","summary":"Resets route and action resolution state.","return":{"type":"void"},"visibility":"protected"},"resetUploadedFilesState":{"signature":"protected function resetUploadedFilesState(): void","summary":"Resets uploaded file static state for the current request.","return":{"type":"void"},"visibility":"protected"},"setMemoryLimit":{"signature":"public function setMemoryLimit(int $limit): void","summary":"Overrides the cached worker memory threshold or requests recalculation from PHP's setting.","params":[{"name":"$limit","type":"int","description":"Limit in bytes; a non-positive value recalculates on the next `getMemoryLimit()` call."}],"return":{"type":"void"}},"syncCookieValidationState":{"signature":"protected function syncCookieValidationState(): void","summary":"Synchronizes cookie validation settings between request and response.","return":{"type":"void"},"visibility":"protected"},"syncSessionIdFromRequestCookies":{"signature":"protected function syncSessionIdFromRequestCookies(): void","summary":"Isolates PHP session state for the current request without opening the session.","return":{"type":"void"},"visibility":"protected"},"terminate":{"signature":"protected function terminate(yii2\\extensions\\psrbridge\\http\\Response $response): Psr\\Http\\Message\\ResponseInterface","summary":"Converts the Yii response to PSR-7 and stores it for deferred after-send finalization.","params":[{"name":"$response","type":"yii2\\extensions\\psrbridge\\http\\Response","description":"Yii response to convert."}],"return":{"type":"Psr\\Http\\Message\\ResponseInterface","description":"PSR-7 response produced by the conversion."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when configuration is invalid."},{"type":"yii\\di\\NotInstantiableException","description":"when a service cannot be instantiated."}],"visibility":"protected"}},"inherited":{"properties":{"actionMap":"yii\\base\\Module","actionNamespace":"yii\\base\\Module","aliases":"yii\\base\\Module","assetManager":"yii\\base\\Application","authManager":"yii\\base\\Application","basePath":"yii\\base\\Application","behaviors":"yii\\base\\Component","bootstrap":"yii\\base\\Application","cache":"yii\\base\\Application","catchAll":"yii\\web\\Application","charset":"yii\\base\\Application","components":"yii\\di\\ServiceLocator","container":"yii\\base\\Application","controller":"yii\\web\\Application","controllerMap":"yii\\base\\Module","controllerNamespace":"yii\\base\\Application","controllerPath":"yii\\base\\Module","db":"yii\\base\\Application","defaultRoute":"yii\\web\\Application","errorHandler":"yii\\web\\Application","extensions":"yii\\base\\Application","formatter":"yii\\base\\Application","homeUrl":"yii\\web\\Application","i18n":"yii\\base\\Application","id":"yii\\base\\Module","language":"yii\\base\\Application","layout":"yii\\base\\Application","layoutPath":"yii\\base\\Module","loadedModules":"yii\\base\\Application","log":"yii\\base\\Application","mailer":"yii\\base\\Application","module":"yii\\base\\Module","modules":"yii\\base\\Module","name":"yii\\base\\Application","params":"yii\\base\\Module","request":"yii\\web\\Application","requestedAction":"yii\\base\\Application","requestedParams":"yii\\base\\Application","requestedRoute":"yii\\base\\Application","response":"yii\\web\\Application","runtimePath":"yii\\base\\Application","security":"yii\\base\\Application","session":"yii\\web\\Application","sourceLanguage":"yii\\base\\Application","state":"yii\\base\\Application","timeZone":"yii\\base\\Application","uniqueId":"yii\\base\\Application","urlManager":"yii\\base\\Application","user":"yii\\web\\Application","vendorPath":"yii\\base\\Application","view":"yii\\base\\Application","viewPath":"yii\\base\\Module"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__get":"yii\\di\\ServiceLocator","__isset":"yii\\di\\ServiceLocator","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","afterAction":"yii\\base\\Module","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","beforeAction":"yii\\base\\Module","behaviors":"yii\\base\\Component","bootstrap":"yii\\web\\Application","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","clear":"yii\\di\\ServiceLocator","createController":"yii\\base\\Module","createControllerByID":"yii\\base\\Module","createStandaloneAction":"yii\\base\\Module","defaultVersion":"yii\\base\\Module","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","end":"yii\\base\\Application","ensureBehaviors":"yii\\base\\Component","get":"yii\\base\\Module","getAssetManager":"yii\\base\\Application","getAuthManager":"yii\\base\\Application","getBasePath":"yii\\base\\Module","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getCache":"yii\\base\\Application","getComponents":"yii\\di\\ServiceLocator","getControllerPath":"yii\\base\\Module","getDb":"yii\\base\\Application","getErrorHandler":"yii\\web\\Application","getFormatter":"yii\\base\\Application","getHomeUrl":"yii\\web\\Application","getI18n":"yii\\base\\Application","getInstance":"yii\\base\\Module","getLayoutPath":"yii\\base\\Module","getLog":"yii\\base\\Application","getMailer":"yii\\base\\Application","getModule":"yii\\base\\Module","getModules":"yii\\base\\Module","getRequest":"yii\\web\\Application","getResponse":"yii\\web\\Application","getRuntimePath":"yii\\base\\Application","getSecurity":"yii\\base\\Application","getSession":"yii\\web\\Application","getTimeZone":"yii\\base\\Application","getUniqueId":"yii\\base\\Application","getUrlManager":"yii\\base\\Application","getUser":"yii\\web\\Application","getVendorPath":"yii\\base\\Application","getVersion":"yii\\base\\Module","getView":"yii\\base\\Application","getViewPath":"yii\\base\\Module","handleRequest":"yii\\web\\Application","has":"yii\\base\\Module","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasModule":"yii\\base\\Module","hasProperty":"yii\\base\\Component","off":"yii\\base\\Component","on":"yii\\base\\Component","preInit":"yii\\base\\Application","registerErrorHandler":"yii\\base\\Application","run":"yii\\base\\Application","runAction":"yii\\base\\Module","runMappedAction":"yii\\base\\Module","runStandaloneAction":"yii\\base\\Module","set":"yii\\di\\ServiceLocator","setAliases":"yii\\base\\Module","setBasePath":"yii\\base\\Application","setComponents":"yii\\di\\ServiceLocator","setContainer":"yii\\base\\Application","setControllerPath":"yii\\base\\Module","setHomeUrl":"yii\\web\\Application","setInstance":"yii\\base\\Module","setLayoutPath":"yii\\base\\Module","setModule":"yii\\base\\Module","setModules":"yii\\base\\Module","setRuntimePath":"yii\\base\\Application","setTimeZone":"yii\\base\\Application","setVendorPath":"yii\\base\\Application","setVersion":"yii\\base\\Module","setViewPath":"yii\\base\\Module","trigger":"yii\\base\\Component"},"constants":{"STATE_BEGIN":"yii\\base\\Application","STATE_INIT":"yii\\base\\Application","STATE_BEFORE_REQUEST":"yii\\base\\Application","STATE_HANDLING_REQUEST":"yii\\base\\Application","STATE_AFTER_REQUEST":"yii\\base\\Application","STATE_SENDING_RESPONSE":"yii\\base\\Application","STATE_END":"yii\\base\\Application"},"events":{"EVENT_BEFORE_REQUEST":"yii\\base\\Application","EVENT_AFTER_REQUEST":"yii\\base\\Application","EVENT_BEFORE_ACTION":"yii\\base\\Module","EVENT_AFTER_ACTION":"yii\\base\\Module"}}},"yii2\\extensions\\psrbridge\\http\\ErrorHandler":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/http/errorhandler/","summary":"Handles exceptions with Yii error rendering and PSR-7 bridge support.","extends":"yii\\web\\ErrorHandler","implements":["yii\\base\\Configurable"],"properties":{"defaultResponseConfig":{"type":"array<string, mixed>","default":"['charset' => 'UTF-8']","description":"Default configuration for creating fallback Response instances."},"memoryReserveSize":{"type":"int","default":"1024 * 1024","description":"Size of the memory reserve for handling fatal errors."},"response":{"type":"yii2\\extensions\\psrbridge\\http\\Response","description":"Response instance with desired configuration.","access":"write-only","virtual":true}},"methods":{"clearOutput":{"signature":"public function clearOutput(): void","summary":"Discards active output buffers, retaining level 1 when `YII_ENV_TEST` is `true`.","return":{"type":"void"}},"handleException":{"signature":"public function handleException(Throwable $exception): yii2\\extensions\\psrbridge\\http\\Response","summary":"Logs an exception and renders a bridge Yii response without sending it.","params":[{"name":"$exception","type":"Throwable","description":"Exception to render."}],"return":{"type":"yii2\\extensions\\psrbridge\\http\\Response","description":"Yii response containing the rendered error."}},"handleFallbackExceptionMessage":{"signature":"protected function handleFallbackExceptionMessage(Throwable $exception, Throwable $previousException): yii2\\extensions\\psrbridge\\http\\Response","summary":"Handles fallback exception rendering when an error occurs during exception processing.","params":[{"name":"$exception","type":"Throwable","description":"Exception thrown during error handling."},{"name":"$previousException","type":"Throwable","description":"Original exception that triggered error handling."}],"return":{"type":"yii2\\extensions\\psrbridge\\http\\Response","description":"Object containing the fallback error message and debug output if enabled."},"visibility":"protected"},"handleFatalError":{"signature":"public function handleFatalError(): mixed","summary":"Releases reserved memory before delegating fatal-error rendering to Yii.","return":{"type":"mixed"}},"register":{"signature":"public function register(): mixed","summary":"Registers PHP handlers with one weak shutdown dispatcher per process.","return":{"type":"mixed"}},"releaseResponse":{"signature":"public function releaseResponse(): void","summary":"Releases request references after emission and finalization.","return":{"type":"void"}},"renderException":{"signature":"protected function renderException(Throwable $exception): yii2\\extensions\\psrbridge\\http\\Response","summary":"Renders the exception and produces a `yii2\\extensions\\psrbridge\\http\\Response` object with appropriate error content.","params":[{"name":"$exception","type":"Throwable","description":"Exception to render and convert to a `yii2\\extensions\\psrbridge\\http\\Response` object."}],"return":{"type":"yii2\\extensions\\psrbridge\\http\\Response","description":"Object containing the rendered exception output."},"throws":[{"type":"yii\\base\\Exception","description":"if an error occurs during error action execution."},{"type":"yii\\base\\InvalidRouteException","description":"if the error action route is invalid or cannot be resolved."}],"visibility":"protected"},"setResponse":{"signature":"public function setResponse(yii2\\extensions\\psrbridge\\http\\Response $response): void","summary":"Sets the Response for error handling.","params":[{"name":"$response","type":"yii2\\extensions\\psrbridge\\http\\Response","description":"Response instance with desired configuration."}],"return":{"type":"void"}},"unregister":{"signature":"public function unregister(): mixed","summary":"Restores PHP handlers and releases the current registration's reserve.","return":{"type":"mixed"}}},"inherited":{"properties":{"behaviors":"yii\\base\\Component","callStackItemView":"yii\\web\\ErrorHandler","discardExistingOutput":"yii\\base\\ErrorHandler","displayVars":"yii\\web\\ErrorHandler","errorAction":"yii\\web\\ErrorHandler","errorView":"yii\\web\\ErrorHandler","exception":"yii\\base\\ErrorHandler","exceptionView":"yii\\web\\ErrorHandler","maxSourceLines":"yii\\web\\ErrorHandler","maxTraceSourceLines":"yii\\web\\ErrorHandler","previousExceptionView":"yii\\web\\ErrorHandler","silentExitOnException":"yii\\base\\ErrorHandler","traceLine":"yii\\web\\ErrorHandler"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","addTypeLinks":"yii\\web\\ErrorHandler","argumentsToString":"yii\\web\\ErrorHandler","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","convertExceptionToArray":"yii\\web\\ErrorHandler","convertExceptionToString":"yii\\base\\ErrorHandler","convertExceptionToVerboseString":"yii\\base\\ErrorHandler","createFrameworkVersionLink":"yii\\web\\ErrorHandler","createHttpStatusLink":"yii\\web\\ErrorHandler","createServerInformationLink":"yii\\web\\ErrorHandler","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getExceptionName":"yii\\web\\ErrorHandler","getTypeUrl":"yii\\web\\ErrorHandler","handleError":"yii\\base\\ErrorHandler","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","htmlEncode":"yii\\web\\ErrorHandler","init":"yii\\base\\ErrorHandler","isCoreFile":"yii\\web\\ErrorHandler","logException":"yii\\base\\ErrorHandler","off":"yii\\base\\Component","on":"yii\\base\\Component","renderCallStack":"yii\\web\\ErrorHandler","renderCallStackItem":"yii\\web\\ErrorHandler","renderFile":"yii\\web\\ErrorHandler","renderPreviousExceptions":"yii\\web\\ErrorHandler","renderRequest":"yii\\web\\ErrorHandler","shouldRenderSimpleHtml":"yii\\web\\ErrorHandler","trigger":"yii\\base\\Component","triggerAfterRender":"yii\\web\\ErrorHandler"},"constants":{"EVENT_AFTER_RENDER":"yii\\web\\ErrorHandler"},"events":{"EVENT_SHUTDOWN":"yii\\base\\ErrorHandler"}}},"yii2\\extensions\\psrbridge\\http\\Request":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/http/request/","summary":"Extends Yii request handling with PSR-7 request data.","extends":"yii\\web\\Request","implements":["yii\\base\\Configurable"],"properties":{"cookieValidationKey":{"type":"string","default":"''","description":"A secret key used for cookie validation."},"parsedBody":{"type":"mixed[]|object|null","description":"Parsed body; absent or discarded scalar bodies yield `null`.","access":"read-only","virtual":true},"parsers":{"type":"array<string, class-string<object>|array{class?: class-string<object>, __class?: class-string<object>}|callable(): object>","description":"Parser definitions keyed by Content-Type.","virtual":true},"psr7Request":{"type":"Psr\\Http\\Message\\ServerRequestInterface","description":"Attached request.","virtual":true},"serverParams":{"type":"mixed[]","description":"Server parameters for the current request.","access":"read-only","virtual":true},"uploadedFiles":{"type":"mixed[]","description":"Nested bridge uploaded files.","access":"read-only","virtual":true}},"methods":{"getAuthCredentials":{"signature":"public function getAuthCredentials(): array{0: string|null, 1: string|null}","summary":"Returns Basic credentials from the current Authorization header or current server parameters.","return":{"type":"array{0: string|null, 1: string|null}","description":"Username and password."}},"getBodyParams":{"signature":"public function getBodyParams(): mixed[]|object","summary":"Returns parsed body parameters with a non-`null` configured method override removed from array bodies.","return":{"type":"mixed[]|object","description":"Body parameters; absent or discarded scalar bodies become `[]`."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when a fallback Yii parser definition is invalid."}]},"getContentType":{"signature":"public function getContentType(): string","summary":"Returns the current Content-Type header, falling back to Yii when no PSR request is attached.","return":{"type":"string","description":"Header value, or an empty `string` when absent."}},"getCookies":{"signature":"public function getCookies(): yii\\web\\CookieCollection","summary":"Returns a read-only collection of current PSR cookies, or Yii's cookies without an attached request.","return":{"type":"yii\\web\\CookieCollection","description":"Current request cookies."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when cookie validation is enabled without a key."}]},"getCsrfTokenFromHeader":{"signature":"public function getCsrfTokenFromHeader(): string|null","summary":"Retrieves the CSRF token from the request headers.","return":{"type":"string|null","description":"CSRF token value from the request header, or `null` if not present."}},"getHeaders":{"signature":"public function getHeaders(): yii\\web\\HeaderCollection","summary":"Retrieves HTTP headers from the current request, supporting PSR-7 and Yii fallback.","return":{"type":"yii\\web\\HeaderCollection","description":"Collection of HTTP headers for the current request."}},"getIsSecureConnection":{"signature":"public function getIsSecureConnection(): bool","summary":"Resolves direct transport and trusted proxy headers from the attached request.","return":{"type":"bool"}},"getMethod":{"signature":"public function getMethod(): string","summary":"Retrieves the HTTP method for the current request, supporting PSR-7 and Yii fallback.","return":{"type":"string","description":"Resolved HTTP method for the current request."}},"getParsedBody":{"signature":"public function getParsedBody(): mixed[]|object|null","summary":"Returns the PSR parsed body, or normalized Yii body parameters without an attached request.","return":{"type":"mixed[]|object|null","description":"Parsed body; absent or discarded scalar bodies yield `null`."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when a fallback Yii parser definition is invalid."}]},"getPsr7Request":{"signature":"public function getPsr7Request(): Psr\\Http\\Message\\ServerRequestInterface","summary":"Returns the attached PSR request, including any body parsing performed during binding.","return":{"type":"Psr\\Http\\Message\\ServerRequestInterface","description":"Attached request."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when no PSR request has been attached."}]},"getQueryParams":{"signature":"public function getQueryParams(): mixed[]","summary":"Returns resolved Yii query parameters when non-empty, otherwise the attached PSR query parameters.","return":{"type":"mixed[]","description":"Current query parameters."}},"getQueryString":{"signature":"public function getQueryString(): string","summary":"Retrieves the query string from the current request, supporting PSR-7 and Yii fallback.","return":{"type":"string","description":"Query string for the current request."}},"getRawBody":{"signature":"public function getRawBody(): string","summary":"Retrieves the raw body content from the current request, supporting PSR-7 and Yii fallback.","return":{"type":"string","description":"Raw body content for the current request."}},"getRemoteHost":{"signature":"public function getRemoteHost(): string|null","summary":"Retrieves the remote host name for the current request, supporting PSR-7 and Yii fallback.","return":{"type":"string|null","description":"Remote host name for the current request, or `null` if not available."}},"getRemoteIP":{"signature":"public function getRemoteIP(): string|null","summary":"Retrieves the remote IP address for the current request, supporting PSR-7 and Yii fallback.","return":{"type":"string|null","description":"Remote IP address for the current request, or `null` if not available or invalid."}},"getScriptUrl":{"signature":"public function getScriptUrl(): string","summary":"Returns the request script URL.","return":{"type":"string","description":"Script URL for the current request."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"if unable to determine the entry script URL."}]},"getServerName":{"signature":"public function getServerName(): string|null","summary":"Retrieves the server name for the current request, supporting PSR-7 and Yii fallback.","return":{"type":"string|null","description":"Server name for the current request, or `null` if not available."}},"getServerParam":{"signature":"public function getServerParam(string $name, mixed $default = null): mixed","summary":"Retrieves a server parameter by name from the current request, supporting PSR-7 and Yii fallback.","params":[{"name":"$name","type":"string","description":"Name of the server parameter to retrieve."},{"name":"$default","type":"mixed","default":"null","optional":true,"description":"Default value to return if the parameter is not set."}],"return":{"type":"mixed","description":"Value of the server parameter, or the default value if not set."}},"getServerParams":{"signature":"public function getServerParams(): mixed[]","summary":"Retrieves server parameters from the current request, supporting PSR-7 and Yii fallback.","return":{"type":"mixed[]","description":"Server parameters for the current request."}},"getServerPort":{"signature":"public function getServerPort(): int|null","summary":"Retrieves the server port number for the current request, supporting PSR-7 and Yii fallback.","return":{"type":"int|null","description":"Server port number, or `null` if unavailable."}},"getUploadedFiles":{"signature":"public function getUploadedFiles(): mixed[]","summary":"Converts attached PSR upload trees to bridge uploaded-file objects, preserving keys and nesting.","return":{"type":"mixed[]","description":"Nested bridge uploaded files."}},"getUrl":{"signature":"public function getUrl(): string","summary":"Retrieves the URL of the current request, supporting PSR-7 and Yii fallback.","return":{"type":"string","description":"URL of the current request."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"if the configuration is invalid or incomplete."}]},"resolve":{"signature":"public function resolve(): mixed[]","summary":"Resolves the route with Yii's URL manager and merges route parameters over PSR query parameters.","return":{"type":"mixed[]","description":"Route and merged parameters as a two-element array."},"throws":[{"type":"yii\\web\\NotFoundHttpException","description":"when the URL manager cannot resolve the request."}]},"setBodyParams":{"signature":"public function setBodyParams(mixed $values): mixed","summary":"Honors Yii body overrides without mutating the immutable PSR request.","params":[{"name":"$values","type":"mixed","description":"Body override, or `null` to resume the attached request body."}],"return":{"type":"mixed"}},"setPsr7Request":{"signature":"public function setPsr7Request(Psr\\Http\\Message\\ServerRequestInterface $request): void","summary":"Binds a PSR request, resets resolved query parameters, and registers its upload adapter.","params":[{"name":"$request","type":"Psr\\Http\\Message\\ServerRequestInterface","description":"Request to bind."}],"return":{"type":"void"},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"when a configured parser does not implement Yii's request parser contract."}]},"setScriptUrl":{"signature":"public function setScriptUrl(string|null $value): mixed","summary":"Preserves an explicitly configured entry script URL when a PSR request is attached.","params":[{"name":"$value","type":"string|null","description":"Script URL, or `null` to restore automatic resolution."}],"return":{"type":"mixed"}}},"inherited":{"properties":{"absoluteUrl":"yii\\web\\Request","acceptableContentTypes":"yii\\web\\Request","acceptableLanguages":"yii\\web\\Request","authCredentials":"yii\\web\\Request","authPassword":"yii\\web\\Request","authUser":"yii\\web\\Request","baseUrl":"yii\\web\\Request","behaviors":"yii\\base\\Component","bodyParams":"yii\\web\\Request","contentType":"yii\\web\\Request","cookies":"yii\\web\\Request","csrfCookie":"yii\\web\\Request","csrfHeader":"yii\\web\\Request","csrfHeaderUnsafeMethods":"yii\\web\\Request","csrfParam":"yii\\web\\Request","csrfToken":"yii\\web\\Request","csrfTokenFromHeader":"yii\\web\\Request","csrfTokenSafeMethods":"yii\\web\\Request","enableCookieValidation":"yii\\web\\Request","enableCsrfCookie":"yii\\web\\Request","enableCsrfValidation":"yii\\web\\Request","eTags":"yii\\web\\Request","headers":"yii\\web\\Request","hostInfo":"yii\\web\\Request","hostName":"yii\\web\\Request","ipHeaders":"yii\\web\\Request","isAjax":"yii\\web\\Request","isConsoleRequest":"yii\\base\\Request","isDelete":"yii\\web\\Request","isFlash":"yii\\web\\Request","isGet":"yii\\web\\Request","isHead":"yii\\web\\Request","isOptions":"yii\\web\\Request","isPatch":"yii\\web\\Request","isPjax":"yii\\web\\Request","isPost":"yii\\web\\Request","isPut":"yii\\web\\Request","isSecureConnection":"yii\\web\\Request","method":"yii\\web\\Request","methodParam":"yii\\web\\Request","origin":"yii\\web\\Request","pathInfo":"yii\\web\\Request","port":"yii\\web\\Request","portHeaders":"yii\\web\\Request","preferredLanguage":"yii\\web\\Request","queryParams":"yii\\web\\Request","queryString":"yii\\web\\Request","rawBody":"yii\\web\\Request","referrer":"yii\\web\\Request","remoteHost":"yii\\web\\Request","remoteIP":"yii\\web\\Request","scriptFile":"yii\\web\\Request","scriptUrl":"yii\\web\\Request","secureHeaders":"yii\\web\\Request","securePort":"yii\\web\\Request","secureProtocolHeaders":"yii\\web\\Request","serverName":"yii\\web\\Request","serverPort":"yii\\web\\Request","trustedHosts":"yii\\web\\Request","url":"yii\\web\\Request","userAgent":"yii\\web\\Request","userHost":"yii\\web\\Request","userIP":"yii\\web\\Request","validateCsrfHeaderOnly":"yii\\web\\Request"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","createCsrfCookie":"yii\\web\\Request","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","filterHeaders":"yii\\web\\Request","generateCsrfToken":"yii\\web\\Request","get":"yii\\web\\Request","getAbsoluteUrl":"yii\\web\\Request","getAcceptableContentTypes":"yii\\web\\Request","getAcceptableLanguages":"yii\\web\\Request","getAuthPassword":"yii\\web\\Request","getAuthUser":"yii\\web\\Request","getBaseUrl":"yii\\web\\Request","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getBodyParam":"yii\\web\\Request","getCsrfToken":"yii\\web\\Request","getETags":"yii\\web\\Request","getHostInfo":"yii\\web\\Request","getHostName":"yii\\web\\Request","getIpValidator":"yii\\web\\Request","getIsAjax":"yii\\web\\Request","getIsConsoleRequest":"yii\\base\\Request","getIsDelete":"yii\\web\\Request","getIsFlash":"yii\\web\\Request","getIsGet":"yii\\web\\Request","getIsHead":"yii\\web\\Request","getIsOptions":"yii\\web\\Request","getIsPatch":"yii\\web\\Request","getIsPjax":"yii\\web\\Request","getIsPost":"yii\\web\\Request","getIsPut":"yii\\web\\Request","getOrigin":"yii\\web\\Request","getPathInfo":"yii\\web\\Request","getPort":"yii\\web\\Request","getPreferredLanguage":"yii\\web\\Request","getQueryParam":"yii\\web\\Request","getReferrer":"yii\\web\\Request","getScriptFile":"yii\\web\\Request","getSecureForwardedHeaderParts":"yii\\web\\Request","getSecureForwardedHeaderTrustedPart":"yii\\web\\Request","getSecureForwardedHeaderTrustedParts":"yii\\web\\Request","getSecurePort":"yii\\web\\Request","getTrustedHeaders":"yii\\web\\Request","getUserAgent":"yii\\web\\Request","getUserHost":"yii\\web\\Request","getUserIP":"yii\\web\\Request","getUserIpFromIpHeader":"yii\\web\\Request","getUserIpFromIpHeaders":"yii\\web\\Request","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\base\\BaseObject","loadCookies":"yii\\web\\Request","loadCsrfToken":"yii\\web\\Request","off":"yii\\base\\Component","on":"yii\\base\\Component","parseAcceptHeader":"yii\\web\\Request","post":"yii\\web\\Request","resolvePathInfo":"yii\\web\\Request","resolveRequestUri":"yii\\web\\Request","setAcceptableContentTypes":"yii\\web\\Request","setAcceptableLanguages":"yii\\web\\Request","setBaseUrl":"yii\\web\\Request","setHostInfo":"yii\\web\\Request","setIsConsoleRequest":"yii\\base\\Request","setPathInfo":"yii\\web\\Request","setPort":"yii\\web\\Request","setQueryParams":"yii\\web\\Request","setRawBody":"yii\\web\\Request","setScriptFile":"yii\\web\\Request","setSecurePort":"yii\\web\\Request","setUrl":"yii\\web\\Request","trigger":"yii\\base\\Component","validateCsrfToken":"yii\\web\\Request"},"constants":{"CSRF_HEADER":"yii\\web\\Request"}}},"yii2\\extensions\\psrbridge\\http\\Response":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/http/response/","summary":"Extends Yii response handling with PSR-7 response conversion.","extends":"yii\\web\\Response","implements":["yii\\base\\Configurable"],"properties":{"cookieValidationKey":{"type":"string","default":"''","description":"A secret key used for cookie validation."},"enableCookieValidation":{"type":"bool","default":"false","description":"Whether to sign outgoing cookie values with `$cookieValidationKey`."},"psr7Response":{"type":"Psr\\Http\\Message\\ResponseInterface","description":"PSR-7 ResponseInterface instance representing the current Yii Response.","access":"read-only","virtual":true}},"methods":{"captureSessionCookie":{"signature":"public function captureSessionCookie(): void","summary":"Queues the current session ID, including rotation followed by an explicit close.","return":{"type":"void"}},"completeSend":{"signature":"public function completeSend(): void","summary":"Completes the Yii response send lifecycle after the runtime emits the PSR-7 body.","return":{"type":"void"}},"getPsr7Response":{"signature":"public function getPsr7Response(): Psr\\Http\\Message\\ResponseInterface","summary":"Converts the Yii Response component to a PSR-7 ResponseInterface instance.","return":{"type":"Psr\\Http\\Message\\ResponseInterface","description":"PSR-7 ResponseInterface instance representing the current Yii Response."},"throws":[{"type":"yii\\base\\InvalidConfigException","description":"if the configuration is invalid or incomplete."},{"type":"yii\\di\\NotInstantiableException","description":"if a class or service can't be instantiated."}]}},"inherited":{"properties":{"acceptMimeType":"yii\\web\\Response","acceptParams":"yii\\web\\Response","behaviors":"yii\\base\\Component","charset":"yii\\web\\Response","content":"yii\\web\\Response","cookies":"yii\\web\\Response","data":"yii\\web\\Response","downloadHeaders":"yii\\web\\Response","exitStatus":"yii\\base\\Response","format":"yii\\web\\Response","formatters":"yii\\web\\Response","headers":"yii\\web\\Response","httpStatuses":"yii\\web\\Response","isClientError":"yii\\web\\Response","isEmpty":"yii\\web\\Response","isForbidden":"yii\\web\\Response","isInformational":"yii\\web\\Response","isInvalid":"yii\\web\\Response","isNotFound":"yii\\web\\Response","isOk":"yii\\web\\Response","isRedirection":"yii\\web\\Response","isSent":"yii\\web\\Response","isServerError":"yii\\web\\Response","isSuccessful":"yii\\web\\Response","statusCode":"yii\\web\\Response","statusCodeByException":"yii\\web\\Response","statusText":"yii\\web\\Response","stream":"yii\\web\\Response","version":"yii\\web\\Response"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","clear":"yii\\web\\Response","clearOutputBuffers":"yii\\base\\Response","defaultFormatters":"yii\\web\\Response","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getCookies":"yii\\web\\Response","getDispositionHeaderValue":"yii\\web\\Response","getHeaders":"yii\\web\\Response","getHttpRange":"yii\\web\\Response","getIsClientError":"yii\\web\\Response","getIsEmpty":"yii\\web\\Response","getIsForbidden":"yii\\web\\Response","getIsInformational":"yii\\web\\Response","getIsInvalid":"yii\\web\\Response","getIsNotFound":"yii\\web\\Response","getIsOk":"yii\\web\\Response","getIsRedirection":"yii\\web\\Response","getIsServerError":"yii\\web\\Response","getIsSuccessful":"yii\\web\\Response","getStatusCode":"yii\\web\\Response","hasEventHandlers":"yii\\base\\Component","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","init":"yii\\web\\Response","off":"yii\\base\\Component","on":"yii\\base\\Component","prepare":"yii\\web\\Response","redirect":"yii\\web\\Response","refresh":"yii\\web\\Response","send":"yii\\web\\Response","sendContent":"yii\\web\\Response","sendContentAsFile":"yii\\web\\Response","sendCookies":"yii\\web\\Response","sendFile":"yii\\web\\Response","sendHeaders":"yii\\web\\Response","sendStreamAsFile":"yii\\web\\Response","setDownloadHeaders":"yii\\web\\Response","setStatusCode":"yii\\web\\Response","setStatusCodeByException":"yii\\web\\Response","trigger":"yii\\base\\Component","xSendFile":"yii\\web\\Response"},"constants":{"FORMAT_RAW":"yii\\web\\Response","FORMAT_HTML":"yii\\web\\Response","FORMAT_JSON":"yii\\web\\Response","FORMAT_JSONP":"yii\\web\\Response","FORMAT_XML":"yii\\web\\Response"},"events":{"EVENT_BEFORE_SEND":"yii\\web\\Response","EVENT_AFTER_SEND":"yii\\web\\Response","EVENT_AFTER_PREPARE":"yii\\web\\Response"}}},"yii2\\extensions\\psrbridge\\http\\ServerExitCode":{"kind":"enum","url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/http/serverexitcode/","summary":"Represents process exit codes for server lifecycle outcomes.","backingType":"int","cases":{"OK":{"value":"0","description":"Indicates successful execution."},"REQUEST_LIMIT":{"value":"1","description":"Indicates the configured request limit was reached."},"SHUTDOWN":{"value":"2","description":"Indicates a graceful shutdown was requested."}}},"yii2\\extensions\\psrbridge\\http\\Session":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/http/session/","summary":"Keeps native session shutdown and flash aging bounded to the worker request lifecycle.","extends":"yii\\web\\Session","implements":["IteratorAggregate","ArrayAccess","Countable","yii\\base\\Configurable"],"methods":{"init":{"signature":"public function init(): mixed","summary":"Replaces Yii's per-instance shutdown callback with one weak process dispatcher.","return":{"type":"mixed"}},"updateFlashCounters":{"signature":"protected function updateFlashCounters(): mixed","summary":"Ages flash values once even when bootstrap and the action reopen the session.","return":{"type":"mixed"},"visibility":"protected"}},"inherited":{"properties":{"_forceRegenerateId":"yii\\web\\Session","_originalSessionModule":"yii\\web\\Session","allFlashes":"yii\\web\\Session","behaviors":"yii\\base\\Component","cacheLimiter":"yii\\web\\Session","cookieParams":"yii\\web\\Session","count":"yii\\web\\Session","flash":"yii\\web\\Session","flashParam":"yii\\web\\Session","gCProbability":"yii\\web\\Session","handler":"yii\\web\\Session","hasSessionId":"yii\\web\\Session","id":"yii\\web\\Session","isActive":"yii\\web\\Session","iterator":"yii\\web\\Session","name":"yii\\web\\Session","savePath":"yii\\web\\Session","timeout":"yii\\web\\Session","useCookies":"yii\\web\\Session","useCustomStorage":"yii\\web\\Session","useStrictMode":"yii\\web\\Session","useTransparentSessionID":"yii\\web\\Session"},"methods":{"__call":"yii\\base\\Component","__clone":"yii\\base\\Component","__construct":"yii\\base\\BaseObject","__get":"yii\\base\\Component","__isset":"yii\\base\\Component","__set":"yii\\base\\Component","__unset":"yii\\base\\Component","addFlash":"yii\\web\\Session","attachBehavior":"yii\\base\\Component","attachBehaviors":"yii\\base\\Component","behaviors":"yii\\base\\Component","canGetProperty":"yii\\base\\Component","canSetProperty":"yii\\base\\Component","className":"yii\\base\\BaseObject","close":"yii\\web\\Session","count":"yii\\web\\Session","destroy":"yii\\web\\Session","detachBehavior":"yii\\base\\Component","detachBehaviors":"yii\\base\\Component","ensureBehaviors":"yii\\base\\Component","freeze":"yii\\web\\Session","get":"yii\\web\\Session","getAllFlashes":"yii\\web\\Session","getBehavior":"yii\\base\\Component","getBehaviors":"yii\\base\\Component","getCacheLimiter":"yii\\web\\Session","getCookieParams":"yii\\web\\Session","getCount":"yii\\web\\Session","getFlash":"yii\\web\\Session","getGCProbability":"yii\\web\\Session","getHasSessionId":"yii\\web\\Session","getId":"yii\\web\\Session","getIsActive":"yii\\web\\Session","getIterator":"yii\\web\\Session","getName":"yii\\web\\Session","getSavePath":"yii\\web\\Session","getTimeout":"yii\\web\\Session","getUseCookies":"yii\\web\\Session","getUseCustomStorage":"yii\\web\\Session","getUseStrictMode":"yii\\web\\Session","getUseTransparentSessionID":"yii\\web\\Session","has":"yii\\web\\Session","hasEventHandlers":"yii\\base\\Component","hasFlash":"yii\\web\\Session","hasMethod":"yii\\base\\Component","hasProperty":"yii\\base\\Component","off":"yii\\base\\Component","offsetExists":"yii\\web\\Session","offsetGet":"yii\\web\\Session","offsetSet":"yii\\web\\Session","offsetUnset":"yii\\web\\Session","on":"yii\\base\\Component","open":"yii\\web\\Session","regenerateID":"yii\\web\\Session","registerSessionHandler":"yii\\web\\Session","remove":"yii\\web\\Session","removeAll":"yii\\web\\Session","removeAllFlashes":"yii\\web\\Session","removeFlash":"yii\\web\\Session","set":"yii\\web\\Session","setCacheLimiter":"yii\\web\\Session","setCookieParams":"yii\\web\\Session","setFlash":"yii\\web\\Session","setGCProbability":"yii\\web\\Session","setHasSessionId":"yii\\web\\Session","setId":"yii\\web\\Session","setName":"yii\\web\\Session","setSavePath":"yii\\web\\Session","setTimeout":"yii\\web\\Session","setUseCookies":"yii\\web\\Session","setUseStrictMode":"yii\\web\\Session","setUseTransparentSessionID":"yii\\web\\Session","trigger":"yii\\base\\Component","unfreeze":"yii\\web\\Session"}}},"yii2\\extensions\\psrbridge\\http\\UploadedFile":{"kind":"class","url":"https://yii2-framework.github.io/docs/extensions/psr-bridge/reference/http/uploadedfile/","summary":"Extends Yii uploaded file handling with PSR-7 uploaded files.","extends":"yii\\web\\UploadedFile","implements":["yii\\base\\Configurable"],"properties":{"_files":{"type":"array<string, array{name: string, tempName: string, tempResource: resource|null, type: string, size: int, error: int, fullPath: string|null}>","default":"[]","description":"Uploaded files cache.","static":true}},"methods":{"getInstance":{"signature":"public static function getInstance(yii\\base\\Model $model, string $attribute): yii2\\extensions\\psrbridge\\http\\UploadedFile|null","summary":"Returns the instance of the uploaded file associated with the specified model attribute.","params":[{"name":"$model","type":"yii\\base\\Model","description":"Data model."},{"name":"$attribute","type":"string","description":"Attribute name, which may contain array indexes (for example, '[1]file', 'file[1]')."}],"return":{"type":"yii2\\extensions\\psrbridge\\http\\UploadedFile|null","description":"Instance of the uploaded file, or `null` if no file was uploaded for the attribute."},"static":true},"getInstanceByName":{"signature":"public static function getInstanceByName(string $name): self|null","summary":"Returns the instance of the uploaded file for the specified input name.","params":[{"name":"$name","type":"string","description":"Name of the file input field."}],"return":{"type":"self|null","description":"Instance of the uploaded file, or `null` if no file was uploaded for the name."},"static":true},"getInstances":{"signature":"public static function getInstances(yii\\base\\Model $model, string $attribute): list<yii2\\extensions\\psrbridge\\http\\UploadedFile>","summary":"Returns an array of uploaded file instances associated with the specified model attribute.","params":[{"name":"$model","type":"yii\\base\\Model","description":"Data model."},{"name":"$attribute","type":"string","description":"Attribute name, which may contain array indexes (for example, '[1]file')."}],"return":{"type":"list<yii2\\extensions\\psrbridge\\http\\UploadedFile>","description":"Uploaded files for the attribute."},"static":true},"getInstancesByName":{"signature":"public static function getInstancesByName(string $name): list<yii2\\extensions\\psrbridge\\http\\UploadedFile>","summary":"Returns an array of uploaded file instances for the specified input name.","params":[{"name":"$name","type":"string","description":"Name of the file input field or array of files."}],"return":{"type":"list<yii2\\extensions\\psrbridge\\http\\UploadedFile>","description":"Uploaded files for the input name."},"static":true},"reset":{"signature":"public static function reset(): void","summary":"Resets the internal uploaded files cache, PSR-7 adapter state, and closes any open tempResource handles.","return":{"type":"void"},"static":true},"setPsr7Adapter":{"signature":"public static function setPsr7Adapter(yii2\\extensions\\psrbridge\\adapter\\ServerRequestAdapter $adapter): void","summary":"Sets the PSR-7 ServerRequestAdapter for file handling.","params":[{"name":"$adapter","type":"yii2\\extensions\\psrbridge\\adapter\\ServerRequestAdapter","description":"PSR-7 adapter containing UploadedFileInterface instances."}],"return":{"type":"void"},"static":true}},"inherited":{"properties":{"baseName":"yii\\web\\UploadedFile","error":"yii\\web\\UploadedFile","extension":"yii\\web\\UploadedFile","fullPath":"yii\\web\\UploadedFile","hasError":"yii\\web\\UploadedFile","name":"yii\\web\\UploadedFile","size":"yii\\web\\UploadedFile","tempName":"yii\\web\\UploadedFile","type":"yii\\web\\UploadedFile"},"methods":{"__call":"yii\\base\\BaseObject","__construct":"yii\\web\\UploadedFile","__get":"yii\\base\\BaseObject","__isset":"yii\\base\\BaseObject","__set":"yii\\base\\BaseObject","__toString":"yii\\web\\UploadedFile","__unset":"yii\\base\\BaseObject","canGetProperty":"yii\\base\\BaseObject","canSetProperty":"yii\\base\\BaseObject","className":"yii\\base\\BaseObject","copyTempFile":"yii\\web\\UploadedFile","getBaseName":"yii\\web\\UploadedFile","getExtension":"yii\\web\\UploadedFile","getHasError":"yii\\web\\UploadedFile","hasMethod":"yii\\base\\BaseObject","hasProperty":"yii\\base\\BaseObject","init":"yii\\base\\BaseObject","saveAs":"yii\\web\\UploadedFile"}}}}}
