wbsartori / request-manager
Request Manager 是一个包含 Guzzle 和 PhpCurlClass 库抽象的 PHP HTTP 客户端库
v0.0.4
2023-04-19 20:22 UTC
Requires
- php: >=7.3
- ext-json: *
- guzzlehttp/guzzle: ^7.5.0
- php-curl-class/php-curl-class: ^9.14
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-22 16:50:44 UTC
README
要求
Request Management Package requires PHP version 7.3.0 or greater.
安装
To use the package it is necessary to install it via composer:
composer require wbsartori/request-manager
使用 GuzzleRequest 的基本示例
您可以调用 Runner 类,并在 setClient 方法中传入您想要使用的客户端,目前我们的包支持 GuzzleRequet 和 PhpCurlClass,并有一些抽象。
带有基本身份验证的 GET 方法
use RequestManager\RequestRunner; use RequestManager\Http\GuzzleRequestAdapter; try { $url = sprintf('%s%s', '/',$router ); $response = (new RequestRunner()) ->setClient(new GuzzleRequestAdapter()) ->basicAuth($username, $password) ->setHeader($headers) ->setUri($uri) ->get($url); echo json_encode($response); } catch (Exception $e) { echo json_encode([ 'code: ' => $e->getCode(), 'message: ' => $e->getMessage() ]); }
带有基本身份验证的 POST 方法
use RequestManager\RequestRunner;
use RequestManager\Requests\GuzzleRequest;
try {
$data = [
[
'description' => 'description',
'acronym' => 'acronym'
]
];
$url = sprintf('%s%s',
'/', $router
);
$response = (new RequestRunner())
->setClient(new GuzzleRequest())
->basicAuth($username, $password)
->setHeader(['header' => ''])
->setUri($uri)
->setData(['multipart' => $data])
->post($url);
echo json_encode($response);
} catch (Exception $e) {
echo json_encode([
'code: ' => $e->getCode(),
'message: ' => str_replace('\\', '', $e->getMessage())
]);
}
带有基本身份验证的 UPDATE 方法
use RequestManager\RequestRunner;
use RequestManager\Requests\GuzzleRequest;
try {
$data = [
'description' => 'New description',
'acronym' => 'NA'
];
$url = sprintf('%s%s%s%s',
'/',
$router,
DIRECTORY_SEPARATOR,
30
);
$response = (new RequestRunner())
->setClient(new GuzzleRequest())
->basicAuth($username, $password)
->setHeader(['header' => ''])
->setUri($uri)
->setData(['json' => $data])
->put($url);
echo json_encode($response);
} catch (Exception $e) {
echo json_encode([
'code: ' => $e->getCode(),
'message: ' => str_replace('\\', '', $e->getMessage())
]);
}
带有基本身份验证的 DELETE 方法
use RequestManager\RequestRunner;
use RequestManager\Requests\GuzzleRequest;
try {
$url = sprintf('%s%s%s%s',
'/',
$router,
DIRECTORY_SEPARATOR,
30
);
$response = (new RequestRunner())
->setClient(new GuzzleRequest())
->basicAuth($username, $password)
->setHeader(['header' => ''])
->setUri($uri)
->delete($url);
echo json_encode($response);
} catch (Exception $e) {
echo json_encode([
'code: ' => $e->getCode(),
'message: ' => $e->getMessage()
]);
}
方法
setClient((new Client)); #Set the Client you want to use, if you don't use this method, Guzzle will be set as default. basicAuth($username, $password); #Basic authentication, if not used, the default noAuth will be used. bearerTokenAuth($token); #Bearer token authentication, if not used, the default noAuth will be used. setHeader($headers) #Receives an array of headers from the request if necessary. setUri($uri) #Get the api host with the slash at the end. setData($uri) #Receives an array of data if the method needs to pass some value. get($url) #Receives the route for which you want to fetch data. post($url) #Get the route for which you want to create data. put($url) #Get the route for which you want to update data. delete($url) #Get the route for which you want to delete data.
您可以查看文档以获取使用 Guzzle 和 PHPCurlClass 的示例。