team-reflex / challonge-php
兼容PSR-18的库,用于与Challonge奖项生成器接口。
5.0
2023-06-13 18:31 UTC
Requires
- php: ^8.1 | ^8.2
- ext-json: *
- illuminate/collections: ~9| ~10
- nyholm/psr7: ^1.6.1
- psr/http-client: ^1.0
- psr/log: ^3.0
- spatie/data-transfer-object: ^2.5
Requires (Dev)
- guzzlehttp/guzzle: ^7.4.5
- php-http/mock-client: ^1.4
- phpunit/phpunit: ^9.4
- symfony/http-client: ^5.3
README
用于与Challonge API接口的PSR-18合规包。
安装
参考表格以查看PHP版本兼容性
通过composer安装
composer require team-reflex/challonge-php:version
用法
由于该包符合PSR-18标准,因此默认不包含HTTP客户端。
您可以使用Guzzle等客户端,并在实例化时传递其实例
$http = new GuzzleHttp\Client(); $challonge = new Challonge($http, 'api_key_here', true);
默认情况下,该包将映射任何输入的键,因为Challonge需要其输入以以下格式存在
$tournament = $challonge->createTournament([ 'tournament[name]' => 'test' ]);
这意味着您可以在不使用前缀的情况下使用该包
$tournament = $challonge->createTournament([ 'name' => 'test' ]);
如果您更喜欢自行处理,可以将第三个参数更改为false
以禁用此映射。
现在您已经准备好发送请求了
$tournament = $challonge->fetchTournament('challongephptest');
API更新
Challonge没有锁定其API,并且一直在不断地向对象中添加新字段,从而破坏了强类型DTO。
截至3.0.4版本,所有三个DTO都已标记为忽略缺失字段。如果Challonge添加了新字段,它将不再抛出DataTransferObjectError
,但是DTO也不会包含该新字段。
文档
由于该包完全类型提示,所有内容都应该是自文档化的,然而,wiki中有文档。