qa-data/psr7-http-message

v1.0 2024-10-01 13:55 UTC

This package is auto-updated.

Last update: 2024-10-01 15:24:47 UTC


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