viragrajput / http-foundation
一个轻量级的PHP HTTP基础包。
v1.0.0
2024-05-03 09:58 UTC
Requires
- php: ^7.4 || ^8.0
Requires (Dev)
- phpunit/phpunit: ^9.0
- symfony/var-dumper: ^5.0
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
、$_REQUEST
和php://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许可证授权。