effectra / http-extensions
Effectra HTTP 扩展包。
v2.2.1
2024-01-02 18:51 UTC
Requires
- php: ^8.0.2
- effectra/http-message: ^1.0
- psr/http-message: ^1.1 || ^2.0
README
Effectra\Http\Extensions 是一个 PHP 包,提供了用于处理 HTTP 请求和响应的扩展和工具。
安装
您可以通过 Composer 安装此包。在您的项目目录中运行以下命令
composer require effectra/http-extensions
使用方法
RequestExtension
RequestExtension
类扩展了 Effectra\Http\Message\ServerRequest
类,并提供了用于处理 HTTP 请求的额外方法。
创建请求
您可以使用 RequestExtension::fromGlobal()
方法创建一个新请求,该方法根据全局变量创建请求对象。
$request = RequestExtension::fromGlobal();
检索请求信息
RequestExtension::url()
:返回请求的 URL。RequestExtension::method()
:返回请求的 HTTP 方法。RequestExtension::path()
:返回请求 URI 的路径。RequestExtension::inputs()
:返回一个包含请求中所有输入数据的对象。RequestExtension::input(string $input)
:返回特定输入参数的值。RequestExtension::validateInputs()
:使用第三方验证库验证输入数据。RequestExtension::onlyInputs(array $inputs)
:返回一个只包含指定输入键的输入数据的对象。RequestExtension::data(bool $associative = false)
:将输入数据作为数组或对象返回。RequestExtension::getTokenFromBearer()
:从 "Authorization" 头(Bearer 身份验证)中提取令牌。
UriExtension
UriExtension
类扩展了 Effectra\Http\Message\Uri
类,并提供了用于处理 URI 的额外方法。
修改查询
UriExtension::withQueries(array $queries)
:返回一个新的 URI 对象,包含指定的查询参数。
ResponseExtension
ResponseExtension
类扩展了 Effectra\Http\Message\Response
类,并提供了用于处理 HTTP 响应的额外方法。
创建 JSON 响应
ResponseExtension::json($data, int $status_code = 200, array $headers = [])
:创建具有指定数据、状态码和额外头部的 JSON 响应。
将响应体转换为数组
ResponseExtension::jsonToArray(?bool $associative = null, int $depth = 512, int $flags = 0)
:将响应体从 JSON 转换为关联数组。
文件附件
ResponseExtension::attachFile(string $filePath, ?string $filename = null, ?string $contentType = null)
:创建带有文件附件的响应。
设置 Cookies
ResponseExtension::withCookie(string $name, string $value, int $expires = 0, string $path = '/', string $domain = '', bool $secure = false, bool $httpOnly = true)
:使用给定的参数设置一个 cookie。ResponseExtension::withCookies(array $cookies, int $expires = 0, string $path = '/', string $domain = '', bool $secure = false, bool $httpOnly = true)
:使用给定的参数设置多个 cookies。
贡献
欢迎贡献!如果您发现任何问题或对改进有建议,请打开一个 issue 或提交一个 pull request。
许可证
此包是开源软件,许可协议为 MIT 许可证。
致谢
Effectra\Http\Extensions 由 Mohammed Taha 开发和维护。