borobudur / http
Borobudur Http 组件
dev-master / 0.1.x-dev
2018-01-19 04:01 UTC
Requires
- psr/http-message: ~1.0
- zendframework/zend-diactoros: ^1.6
This package is auto-updated.
Last update: 2024-09-06 23:41:42 UTC
README
Borobudur\Http
是一个高性能、轻量级的 PHP 5.4+ 核心Http组件。它为 Header、Request、URI、Cookie、Session、文件上传等提供了抽象
- 支持所有 HTTP 方法
- 从服务器变量或模拟创建请求
- 支持分块响应
- 带闪存功能的会话
- 复合文件上传
- 带有 http 编码的响应
- Cookie
- Http 头(Cache-Control、Content-Type 等)
- 等
安装
- 获取 Composer
- 使用
composer require borobudur/http
安装 Borobudur\Http - 在您的主 PHP 文件中添加 composer 自动加载:
require __DIR__.'/vendor/autoload.php';
示例
示例 1 - 从 $_SERVER 变量创建请求
use Borobudur\Http\Request; $request = Request::createFromServer(); echo $request->getUri()->getPathInfo();
示例 2 - 创建自请求(可用于 cli 或 php unit)
use Borobudur\Http\Request; $request = Request::create('/page/demo', Request::HTTP_METHOD_GET); echo $request->getUri()->getSegment(0); // should return "page"
示例 3 - 发送响应
use Borobudur\Http\Response; $response = new Response('Hello world'); $response->send();
示例 4 - 使用 gzip 内容编码发送分块响应
use Borobudur\Http\Response; $response = new Response( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore'. 'magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo'. 'consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.'. 'Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.' ); $response->setContentEncoding('gzip'); $response->setChunkedTransferEncoding(); $response->send();
示例 5 - 发送 JSON 响应
use Borobudur\Http\Response\JsonResponse; $response = new JsonResponse(array('name' => 'Iqbal', 'status' => 'online')); $response->send();
示例 6 - 发送重定向响应
use Borobudur\Http\Response\RedirectResponse; $response = new RedirectResponse('/user/profile'); $response->send();