一个简单的HTTP库,用于处理请求、响应和头部信息。

dev-main 2024-09-03 15:10 UTC

This package is auto-updated.

Last update: 2024-09-03 15:10:54 UTC


README

Tests Status

Luminar HTTP包为PHP中处理HTTP请求和响应提供了一套强大的工具。它包括用于管理请求、会话、Cookie和中间件的类。

安装

您可以通过Composer安装Luminar HTTP。

composer require luminar-organization/http

用法

  • 请求处理
use Luminar\Http\Request;

$request = new Request($queryParams, $bodyParams, $headers, $method, $uri, $serverParams);
$clientIp = $request->getClientIp();
$authHeader = $request->getAuthorizationHeader();
$bearerToken = $request->getBearerToken();
$userAgent = $request->getUserAgent();
  • 会话管理
use Luminar\Http\Session\SessionManager;

$session = new SessionManager();
$session->set('key', 'value');
$value = $session->get('key');
$session->destroy();
  • Cookie管理
use Luminar\Http\Cookie\CookieManager;

$cookieManager = new CookieManager();
$cookieManager->set('name', 'value');
$cookieValue = $cookieManager->get('name');
$cookieManager->delete('name');
  • 中间件
use Luminar\Http\Middleware\MiddlewareInterface;
use Luminar\Http\Response;

class ExampleMiddleware implements MiddlewareInterface
{
    public function run(Request $request): Response|null
    {
        // Do some your staff for e.g. analytics
        return null; // return null if you don't want to stop request
    }
}
use Luminar\Http\Controller\AbstractController;
use Luminar\Http\Response;

class HomeController extends AbstractController
{
    public function jsonRequest(): Response
    {
        return $this->json([
            'Hello' => 'World!'
        ]);
    }
    
    public function textRequest(): Response
    {
        return $this->text("Hello World!");
    }
    
    public function index()
    {
        return $this->render('home/index');
    }
}