tegenterter / fide-data
用于处理FIDE发布的开放数据的PHP库
dev-master
2024-07-03 12:27 UTC
Requires
- php: ^7.4|^8.0|^8.1|^8.2|^8.3
- ext-simplexml: *
- ext-xmlreader: *
- guzzlehttp/guzzle: ^7.8
Requires (Dev)
- phpunit/phpunit: ^9.6
This package is not auto-updated.
Last update: 2024-09-27 10:46:41 UTC
README
用于处理FIDE(国际棋联)发布的开放数据并为PHP编写的库
功能
- 下载所有由FIDE发布的玩家评级XML文件 链接
- 读取和解析玩家评级XML文件
文档
安装
使用Composer安装库到您的项目
composer require tegenterter/fide-data
基本用法
<?php require __DIR__ . '/vendor/autoload.php'; // Download particular rating file from https://ratings.fide.com/download_lists.phtml $client = new \FideData\Http\RatingXmlDownloader(__DIR__); $path = $client->download(\FideData\Enum\RatingType::STANDARD, 2020, 12); // Read and parse the rating file $rating = new \FideData\PlayerRating($path); /** @var \FideData\Structure\Player $player */ foreach ($rating->process() as $player) { // Get array representation of the player object $array = $player->toArray(); echo json_encode($array, JSON_PRETTY_PRINT) . PHP_EOL; /** { "fideId": 1503014, "name": "Carlsen, Magnus", "federation": "NOR", "birthYear": 1990, "sex": "M", "title": "GM", "standardRating": { "type": "standard", "rating": 2862, "k": 10 }, "rapidRating": null, "blitzRating": null, "active": true } */ }
测试
该库通过PHPUnit进行单元测试。您可以使用以下Composer脚本来运行它们
composer run test