vtgianni / oops-bundle
一个用于记录 API 请求错误的 Symfony 扩展包。
1.0.1
2023-05-17 13:57 UTC
Requires
- php: >=7.4
- doctrine/orm: >=2.13
- symfony/framework-bundle: >=5.4
- symfony/http-client: >=4.4
- symfony/validator: >=4.4
README
关于
Oops Bundle 是一个允许您管理 API 调用错误返回的 Symfony 扩展包。
安装
要求
⚠️ 使用 Oops Bundle 的要求如下
php: >=7.4 doctrine/orm: >=2.13 symfony/framework-bundle: >=5.4 symfony/validator: >=4.4 symfony/http-client: >=4.4
开始使用
要开始使用 Oops Bundle,请使用 Composer 将包添加到项目的依赖项中
composer require vtgianni/oops-bundle
然后使用以下命令更新您的数据库模式
php bin/console d:s:u --force
如何使用
使用 Oops Bundle 有两种方式:自动或手动错误记录。
自动错误记录
Oops Bundle 为 HttpClient 请求提供了包装器。
这允许您在不担心错误的情况下进行 API 调用,因为它们将自动记录在您的 "oops" 表中。
首先在您的类中注入 OopsClient
use VTGianni\OopsBundle\Service\OopsClient; class MyService { private $oopsClient; public function __construct(OopsClient $oopsClient) { $this->oopsClient = $oopsClient; } }
然后以与 HttpClient 相同的方式进行 API 调用
$this->oopsClient->request( 'GET', 'https://pokeapi.co/api/v2/pokemon/ditto' );
就这样!如果 API 返回的状态码大于或等于 400,它将自动记录在您的 "oops" 表中。
手动错误记录
Oops Bundle 还提供了直接访问与 "oops" 表交互的一些方法的权限。
这允许您选择要记录的特定数据或管理特定的错误情况。
首先在您的类中注入 OopsService
use VTGianni\OopsBundle\Service\OopsService; class MyService { private $oopsService; public function __construct(OopsService $oopsService) { $this->oopsService = $oopsService; } }
报告事件
要报告事件,请使用 OopsBundle 的 reportError 方法
$this->oopsService->reportError( $url, // required string $statusCode, // required int $message, // optional string $headers, // optional array $bodyContent, // optional array $responseContent // optional array );
过滤错误
要过滤错误,请使用 OopsBundle 的 filterErrors 方法
$this->oopsService->filterErrors( $errorCode, // optional int $desc, // optional bool, default true $limit // optional int, default 10 );
计数错误
要计数错误,请使用 OopsBundle 的 countErrors 方法
$this->oopsService->countErrors( $nbDays, // optional int, default 7 $errorCode // opitonal int );