viragrajput/http-foundation

一个轻量级的PHP HTTP基础包。

v1.0.0 2024-05-03 09:58 UTC

This package is auto-updated.

Last update: 2024-10-03 11:18:00 UTC


README

HTTPFoundation是一个PHP包,旨在提供一系列用于处理HTTP相关任务的类,包括处理cookies、会话、文件上传、生成HTTP响应和处理HTTP请求。此包旨在简化PHP Web开发中的常见HTTP相关操作。

特性

  • Cookie处理:使用Cookie类轻松管理HTTP cookies,包括设置、获取、删除以及加密/解密cookie值。
  • 会话管理:使用Session类轻松处理PHP会话,允许设置、获取、检查存在性和删除会话数据。
  • 文件上传处理:使用UploadedFile类管理文件上传,包括获取文件信息、移动上传的文件以及确定文件类型。
  • HTTP响应生成:使用Response类动态生成HTTP响应,轻松设置状态码、头部和响应内容。
  • HTTP请求处理:使用Request类处理传入的HTTP请求,允许访问请求头部、参数和文件。

安装

您可以通过Composer安装HTTPFoundation包。

composer require viragrajput/http-foundation

使用方法

Cookie处理

use Virag\HttpFoundation\Cookie;

// Set a cookie
Cookie::set('username', 'john_doe', time() + 3600, '/', 'example.com', true, true);

// Get a cookie value
$username = Cookie::get('username');

// Delete a cookie
Cookie::delete('username');

会话管理

use Virag\HttpFoundation\Session;

// Start a session
$session = new Session();

// Set session data
$session->set('user_id', 123);

// Get session data
$userID = $session->get('user_id');

// Regenerate session ID
$session->regenerateId();

文件上传处理

use Virag\HttpFoundation\UploadedFile;

// Handle file upload
$file = new UploadedFile(
    $_FILES['file']['name'],
    $_FILES['file']['type'],
    $_FILES['file']['tmp_name'],
    $_FILES['file']['error'],
    $_FILES['file']['size']
);

// Move uploaded file to destination directory
$file->move('uploads/');

有关此类更详细的示例,请参阅文档文件夹。

HTTP响应生成

use Virag\HttpFoundation\Response;

// Create a response with JSON content
$response = new Response();
$response->setJsonResponse(['message' => 'Success'], 200);
$response->send();

// Create a response with HTML content
$htmlContent = "<html><body><h1>Hello, World!</h1></body></html>";
$response = new Response();
$response->setHtmlResponse($htmlContent, 200);
$response->send();

// Create a redirect response
$response = new Response();
$response->setRedirectResponse('/new-page', 302);
$response->send();

// Create a response with custom headers
$response = new Response();
$response->setHtmlResponse('Custom Content', 200);
$response->setHeader('X-Custom-Header', 'Value');
$response->send();

// Create a response with an error message
$response = new Response();
$response->setBadRequestResponse('Bad Request');
$response->send();

HTTP请求处理

createFromGlobals方法基于PHP中可用的全局变量(如$_SERVER$_REQUESTphp://input)创建一个Request对象。此方法便于以标准化的方式创建请求对象,尤其是在请求通常通过全局作用域处理的Web应用程序中。

use Virag\HttpFoundation\Request;

// Create a request object from global variables
$request = Request::createFromGlobals();

// Now you can access various properties and methods of the $request object
$method = $request->getMethod();
$uri = $request->getUri();
$params = $request->getParameters();
$headers = $request->getHeaders();

贡献

欢迎贡献!请随意提交问题或提交一个拉取请求以进行改进或修复错误。

许可证

此软件包是开源软件,根据MIT许可证授权。