andonovn / laravel-bets-api
使用betsapi.com服务
Requires
- php: >=7.1.3
- illuminate/events: >=9.0
- illuminate/support: >=9.0
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~5.7
README
描述
一个帮助您使用BetsApi API的包。BetsApi是一个付费服务,提供体育数据。您可以在https://betsapi.com了解更多。
Laravel Bets Api是一个非官方包,并不覆盖所有端点。我只是他们的一个客户,恰好在使用几个项目上使用他们的服务,这促使我把代码提取成一个开源包。
安装
composer require andonovn/laravel-bets-api
php artisan vendor:publish --provider="Andonovn\LaravelBetsApi\ServiceProvider"
将BETS_API_TOKEN环境变量添加到您的.env文件中。如您所猜测的那样,这是BetsApi令牌,您可以通过在他们的网站上注册并订阅您选择的计划来获得。
您还可以选择性地添加BETS_API_ENDPOINT环境变量。默认情况下,它设置为https://api.b365api.com/v1/
该包利用Laravel的包自动发现功能。如果您使用的是不支持该功能的旧版Laravel,则可以将Andonovn\LaravelBetsApi\ServiceProvider手动添加到位于/config/app.php的providers数组中的服务提供者列表中。
使用方法
从容器中解析Andonovn\LaravelBetsApi\BetsApi类并使用其公开方法之一。以下是一个示例:
public function index(\Andonovn\LaravelBetsApi\BetsApi $betsApi) { $leagues = $betsApi->soccerLeagues(); // $leagues will now be an array of all the supported leagues in soccer, use it as per your needs dd($leagues); // take a look at the structure }
错误处理
当API调用失败时,将抛出Andonovn\LaravelBetsApi\Exceptions\CallFailedException异常。此外,还有一些不太可能发生的其他异常,但您可以通过捕获抽象的Andonovn\LaravelBetsApi\Exceptions\BetsApiException来安全地处理所有这些异常。如果您想了解更多关于异常的信息,它们都位于Andonovn\LaravelBetsApi\Exceptions命名空间中。
事件
当请求失败时,将分发Andonovn\LaravelBetsApi\Events\RequestFailed事件。该包将尝试重试请求,直到达到配置中指定的最大允许重试次数。请注意,对于每次重试,都会引发该事件。当达到尝试限制时,它将抛出上述描述的Andonovn\LaravelBetsApi\Exceptions\CallFailedException异常。
还有一个事件,该包会引发,那就是Andonovn\LaravelBetsApi\Events\ResponseReceived,您可以使用它来跟踪您还有多少请求,以及其他在每次响应中可用的类似信息。