amphp / http-server-form-parser
一个简化表单数据处理功能的HTTP服务器插件。轻松解析传入的表单提交并提取其数据。
v2.0.0
2023-08-25 02:52 UTC
Requires
- php: >=8.1
- amphp/amp: ^3
- amphp/byte-stream: ^2
- amphp/http: ^2
- amphp/http-server: ^3.2
- amphp/pipeline: ^1
- revolt/event-loop: ^1
Requires (Dev)
- amphp/log: ^2
- amphp/php-cs-fixer-config: ^2
- amphp/phpunit-util: ^3
- phpunit/phpunit: ^9
- psalm/phar: ^5.6
This package is auto-updated.
Last update: 2024-08-25 05:12:43 UTC
README
此包是 amphp/http-server
的附加组件,允许将请求体解析为 x-www-form-urlencoded
或 multipart/form-data
格式的表单。
安装
此包可以作为 Composer 依赖项安装。
composer require amphp/http-server-form-parser
用法
基本用法通过调用 Form::fromRequest($request)
实现,这将缓冲请求体并解析它。此方法可以多次调用,因此中间件和请求处理器都可以访问表单体。
use Amp\Http\Server\FormParser\Form; use Amp\Http\Server\Request; use Amp\Http\Server\RequestHandler\ClosureRequestHandler; use Amp\Http\Server\Response; use Amp\Http\Status; $requestHandler = new ClosureRequestHandler(function (Request $request) { $form = Form::fromRequest($request); return new Response(Status::OK, [ "content-type" => "text/plain; charset=utf-8" ], $form->getValue("text") ?? "Hello, World!"); });
还包括一个高级流式解析器 StreamingFormParser
,可用于将上传的文件流式传输到磁盘或其他位置。