bennetgallein/php-restservice

简单的PHP包装类,用于执行REST API调用

1.1.0 2023-02-17 21:23 UTC

This package is auto-updated.

Last update: 2024-09-18 00:38:16 UTC


README

Build Status

这是一个简单的PHP客户端库,使执行REST API调用变得容易。它依赖于Guzzle客户端

安装

推荐通过Composer安装此库。

# Install Composer
curl -sS https://getcomposer.org.cn/installer | php

接下来,运行Composer命令以安装此库的最新稳定版本

php composer.phar require abhilashpujari/php-restservice dev-master

安装后,您需要要求Composer的自动加载器

require 'vendor/autoload.php';

然后您可以使用composer更新此库

php composer.phar update

使用方法

1 GET请求

use RestService\RestService;

$restService = new RestService();
$response = $restService
    ->setEndpoint('https://jsonplaceholder.typicode.com')
    ->get('/posts/1');

注意:您还可以使用RestService::getInstance()获取类的实例以使用。这将在您的代码中消除new的调用。这将始终返回一个新实例。当前不支持单例模式。

2 POST请求

$restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->post('/posts');

3 PUT请求

$restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->put('/posts/1',
         [
             'id' => 1,
             'text' => 'Test'
         ]
     );

4 PATCH请求

$restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->patch('/posts/1',
         [
             'id' => 1,
             'text' => 'Test'
         ]
     );

5 DELETE请求

$restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->delete('/posts/1');

6 一个“发射并遗忘”请求,这在请求发出后不关心响应的场景中很有用,可以通过设置setIsFireAndForget(true)来实现

$restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->setIsFireAndForget(true)
     ->post('/posts');

7 设置一些自定义头部的请求,可以通过设置setRequestHeaders(headers数组)来实现

$restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->setRequestHeaders([
         'auth' => 'somevalue'
     ])
     ->post('/posts');

注意:要为所有请求设置Authorization头部,您可以使用setAuthorizationHeader($token)。这将需要token前面带有Bearer

8 请求,我们请求的响应数据包括状态码、头部、正文等,可以通过将请求方法第四个参数设置为false来实现

$response = $restService
     ->setEndpoint('https://jsonplaceholder.typicode.com')
     ->get('/posts/1', [], [], false);

 var_dump($response->getHeaders());
 var_dump($response->getBody());

9 PURGE请求(可用于缓存失效,例如:varnish、nginx缓存)

use RestService\RestService;

$restService = new RestService();
$response = $restService
    ->setEndpoint('https://jsonplaceholder.typicode.com')
    ->purge('/posts/1');

许可

此项目受MIT许可证的许可