link1515/http-utils-php5

针对使用PHP 5.x环境的用户,本软件包提供了一个便捷的解决方案。它提供封装的实用工具来处理请求和响应。

1.0.5 2024-03-29 06:04 UTC

This package is auto-updated.

Last update: 2024-09-16 07:06:32 UTC


README

针对使用PHP 5.x环境的用户,本软件包提供了一个便捷的解决方案。它提供封装的实用工具来处理请求和响应。

特性

  • 易于使用
  • 兼容PHP 5.x
  • PUT和PATCH方法的请求体可以被解析(包括multipart/form-data类型)

安装

composer require link1515/http-utils-php5

用法

请求

<?php

require_once __DIR__ . '/../vendor/autoload.php';

use Link1515\HttpUtilsPhp5\Request;

// get the request instance
$request = Request::getInstance();

// get property
$ip = $request->getIp();
$method = $request->getMethod();

// get property of the array format
// ex: https://example.com?name=Lynk&job=developer
$queryString = $request->getQueryString(); // ['name' => 'Lynk', 'job' => 'developer']
// You can specify a key to get a value
$name = $request->getQueryString('name'); // Lynk

// You can even use dot notation to get nested values
// ex: request body: { user: { order: { id: 123 }}}
$orderId = $request->getBody('user.order.id'); // 123

配置ipHeaderFilterChain

// You can configure the ipHeaderFilterChain by yourself. Headers earlier in the array are adopted first.
Request::setIpHeaderFilterChain([
  'HTTP_CLIENT_IP',
  'HTTP_X_FORWARDED_FOR',
  'REMOTE_ADDR'
]);

响应

  • Response::setHeader(string $name, string $value, bool $replace = true)
  • Response::setHeaders(array $headers, bool $replace = true)
  • Response::status(int $code)
  • Response::redierct(string $url, int $statusCode = 301)
  • Response::json(array $data, int $statusCode = 200)
  • Response::send(string $data, int $statusCode = 200)
<?php

require_once __DIR__ . '/../vendor/autoload.php';

use Link1515\HttpUtilsPhp5\Response;
use Link1515\HttpUtilsPhp5\Constant\Status;

Response::json(['message' => 'not found'], Status::NOT_FOUND);

常量

本软件包还提供了一些常用常量。

  • Link1515\HttpUtilsPhp5\Constant\Status
  • Link1515\HttpUtilsPhp5\Constant\Method
  • Link1515\HttpUtilsPhp5\Constant\ContentType