qa-data / psr7-http-message
HTTP 消息接口
v1.0
2024-10-01 13:55 UTC
Requires
- php: >=8.1
- guzzlehttp/psr7: ^2.7
README
PSR-7
是 HTTP 消息接口。它是一个非常有用的接口,尤其是在中间件/中继模式中。更多内容请访问官方 PHP-FIG 网站。
本包基于 Contributte 团队的一个包 - PSR-7 HTTP Message,该包基于 guzzle/psr7。
使用方法
要安装最新版本的 qa-data/psr7-http-message
,请使用 Composer。
composer require qa-data/psr7-http-message
Psr7Request
最简单的方法是使用 Psr7RequestFactory
创建请求。
use Contributte\Psr7\Psr7RequestFactory; $psr7 = Psr7RequestFactory::fromGlobal();
其他方法(针对 PSR7 接口)
- of(RequestInterface $request): self
- getContents(): mixed
- getContentsCopy(): mixed
- getJsonBody(bool $associative = true): mixed
- getJsonBodyCopy(bool $associative = true): mixed
- withNewUri(string $uri): self - 返回具有给定 URL 的克隆
Psr7ServerRequest
其他方法(针对 PSR7 接口)
- normalizeNetteFiles(Nette\Http\FileUpload[] $files): Psr7UploadedFile[]
- of(ServerRequestInterface $request): self
- fromGlobals(): self
- withAttributes(array $attributes): self
- hasQueryParam(string $name): bool
- getQueryParam(string $name, mixed $default = null): mixed
Psr7Response
最简单的方法是使用 Psr7ResponseFactory
创建响应。
use Contributte\Psr7\Psr7ResponseFactory; $psr7 = Psr7ResponseFactory::fromGlobal();
其他方法(针对 PSR7 接口)
- of(ResponseInterface $response): self
- fromGlobals(): self
- appendBody(mixed $body): self
- rewindBody(): self
- writeBody(mixed $body): self
- writeJsonBody(array $data): self
- writeJsonObject(JsonSerializable $object): self
- getJsonBody(bool $associative = true): mixed
- getContents(bool $rewind = true): mixed
- withHeaders(array $headers): self
- getHttpResponse(): ?Nette\Http\IResponse
- withHttpResponse(Nette\Http\IResponse $response)
- hasHttpResponse(): bool
- getApplicationResponse(): ?Nette\Application\IResponse
- withApplicationResponse(Nette\Application\IResponse $response)
- hasApplicationResponse(): bool
- send(): void
- sendHeaders(): void
- sendBody(): void
API
MessageInterface
getProtocolVersion: string
withProtocolVersion(string $version): static
getHeaders(): array
hasHeader(string $name): bool
getHeader(string $name): string[]
getHeaderLine(string $name): string
withHeader(string $name, string|string[] $value): static
withAddedHeader(string $name, string|string[] $value): static
withoutHeader(string $name): static
getBody(): StreamInterface
withBody(StreamInterface $body): static
RequestInterface << MessageInterface
getRequestTarget(): string
withRequestTarget($requestTarget): static
getMethod(): string
withMethod(string $method): static
getUri(): UriInterface
withUri(UriInterface $uri, bool $preserveHost = false): static
ServerRequestInterface << RequestInterface
getServerParams(): array
getCookieParams(): array
withCookieParams(array $cookies): static
getQueryParams(): array
withQueryParams(array $query): static
getUploadedFiles(): UploadedFileInterface[]
withUploadedFiles(array $uploadedFiles): static
getParsedBody(): mixed
withParsedBody($data): static
getAttributes(): mixed[]
getAttribute(string $name, $default = null): mixed
withAttribute(string $name, $value): static
withoutAttribute(string $name): static
ResponseInterface << MessageInterface
getStatusCode(): int
withStatus(int $code, string $reasonPhrase = ''): static
getReasonPhrase(): string
StreamInterface
__toString(): string
close(): void
detach(): ?resource
getSize(): ?int
tell(): int
eof(): bool
isSeekable(): bool
seek(int $offset, int $whence = SEEK_SET): void
rewind(): void
isWritable(): bool
write($string): void
isReadable(): bool
read($length): string
getContents(): string
getMetadata(?string $key = null): mixed
UriInterface
getScheme(): string
withScheme(string $scheme): static
getAuthority(): string
getUserInfo(): string
withUserInfo(string $user, ?string $password = null): static
getHost(): string
withHost(string $host): static
getPort(): ?int
withPort(?int $port): static
getPath(): string
withPath(string $path): static
getQuery(): string
withQuery(string $query): static
getFragment(): string
withFragment(string $fragment): static
__toString(): string
UploadedFileInterface
getStream(): StreamInterface
moveTo($targetPath): void
getSize(): ?int
getError(): int
getClientFilename(): ?string
getClientMediaType(): ?string