ft/request-response
最新稳定版本:2.0.1
Composer 安装命令:
composer require ft/request-response
包简介
A library with common request response utils and helper methods
README 文档
README
composer require ft/request-response
Usage
Requests
$req = new Request;
That's it. A request automatically builds all things related to the current request based on $_SERVER and request method.
classDiagram
class Request {
RequestHeaders $headers
RequestMethods $method
URL $url
float $time
object $parameters
?RequestBody $body
?string $ip
AbstractUser $user
string $protocol
isPOST() bool
isGET() bool
isPUT() bool
isPATCH() bool
isDELETE() bool
isHEAD() bool
isTRACE() bool
isCONNECT() bool
isOPTIONS() bool
isHTTPS() bool
isHeaderSet(string $header) bool
isHeaderSetAndNotEmpty(string $header) bool
isParameterSet(string $name) bool
isParameterSetAndNotEmpty(string $name) bool
hasBody() bool
containsErroneousParamaters(string ...$expecting) bool
}
Loading
All parameters are added to the request's parameters property regardless if they are query parameters or body parameters by way of multipart/form-data or www-form-urlencoded params. (Though, these are also added in the body property)
Responses
$resp = new Response();
Response is a builder-pattern class
Example:
$resp = new Response(); $resp->statusCode(StatusCodes::HTTP_VERSION_NOT_SUPPORTED) ->send();
Any time you call a send*() method of Response it will call die()
Response is content-type aware, for example, if you call the sendJson() method
it will automatically set the content type header for you:
$array = [ 'foo' => 'bar' ]; $resp = new Response(); $resp->sendJson($array);
classDiagram
class Response {
headers(array $headers = []) Response
contentType(string $mediaType) Response
statusCode(StatusCodes $code) Response
statusCodePhrase(string $message) Response
status(StatusCodes $code, ?string $message = null) Response
content(mixed $content) Response
redirect(string $url) never
redirectIf(string $url, callable $predicate) never
sendXML(string $xml) never
sendJson(mixed $json) never
sendHTML(string $html) never
sendNoContent(?string $etag = null) never
sendCreated(?string $uri = null) never
sendAccepted() never
sendNotFound(?string $message = null) never
sendUnauthorized() never
sendForbidden() never
sendBadRequest() never
sendInternalServerError() never
send() never
}
Loading
ft/request-response 适用场景与选型建议
ft/request-response 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 47 次下载、GitHub Stars 达 1, 最近一次更新时间为 2022 年 08 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「response」 「server」 「request」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 ft/request-response 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ft/request-response 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 ft/request-response 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A lightweight and powerful OAuth 2.0 authorization and resource server library with support for all the core specification grants. This library will allow you to secure your API with OAuth and allow your applications users to approve apps that want to access their data from your API.
HTTP request logger middleware for Laravel
Class to generate a standard structure for api json responses
Adds request-parameter validation to the SLIM 3.x PHP framework
A jQuery augmented PHP library for creating and validating HTML forms
annotations-scan-plugin
统计信息
- 总下载量: 47
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 11
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-08-05