m1so / champion
用 PHP 编写的 Champion.gg API 包装器
Requires
- php: >=5.5
- guzzlehttp/guzzle: ^6.1
Requires (Dev)
- phpunit/phpunit: ^4.8
This package is not auto-updated.
Last update: 2024-09-14 17:43:03 UTC
README
Champion.gg API 包装器,用 PHP 编写。
安装
使用 composer 需求此包 composer require m1so/champion
免责声明: 此包的内部 API 可能会更改,使用风险自负
待办事项
- 异常处理
- 更多示例和使用案例
- 添加测试
文档
所有方法和端点的概述,包括示例。
用法
使用以下方式设置 API 密钥
use Champion\ChampionAPI; // ... ChampionAPI::setKey($yourKeyHere);
请始终记得使用 use
或完全限定命名空间
use Champion\Stats; // ... $stats = Stats::byRole('Top'); // or $stats = \Champion\Stats::byRole('Top');
Champion 特定
特定于给定冠军的所有端点和方法的列表。
所有冠军
端点:/champion
示例
$champions = Champion::all();
冠军信息
端点:/champion/:name
示例
// Grab all data for given champion $ahriInfo = (new Champion('Ahri'))->info();
端点:/champion/:name/general
示例
// Grab only general data for given champion $ahriGeneral = (new Champion('Ahri'))->general();
冠军对决
端点:/champion/:name/matchup
示例
// All matchups for champion $matchups = (new Champion('TwistedFate'))->matchups();
冠军的完成物品
端点:/champion/:name/items/finished/{mostPopular, mostWins}
示例
// Grab all finished items (most popular is the default flag) $popularItems = (new Champion($name))->items(); // Can be called explicitly $popularItems = (new Champion($name))->items(Champion::CHAMPION_MOST_POPULAR); // We can also get items by most wins this way $mostWinsItems = (new Champion($name))->items(Champion::CHAMPION_MOST_WINS);
冠军的技能顺序
端点:/champion/:name/skills/{mostPopular, mostWins}
示例
// Skill order (most popular is the default flag) $popularItems = (new Champion($name))->skills(); // Can be called explicitly $popularItems = (new Champion($name))->skills(Champion::CHAMPION_MOST_POPULAR); // We can also get skills by most wins this way $mostWinsItems = (new Champion($name))->skills(Champion::CHAMPION_MOST_WINS);
起始物品
端点:/champion/:name/items/starters/{mostPopular, mostWins}
示例
// Same flags apply (Champion::CHAMPION_MOST_WINS and Champion::CHAMPION_MOST_POPULAR) $startingItems = (new Champion($name))->startingItems();
召唤师技能
端点:/champion/:name/summoners/{mostPopular, mostWins}
示例
// Same flags apply (Champion::CHAMPION_MOST_WINS and Champion::CHAMPION_MOST_POPULAR) $summs = (new Champion($name))->summonerSpells();
符文
端点:/champion/:name/runes/{mostPopular, mostWins}
示例
// Same flags apply for runes (Champion::CHAMPION_MOST_WINS and Champion::CHAMPION_MOST_POPULAR) $runes = (new Champion($name))->runes();
两名冠军之间的对决
端点:/champion/:name/matchup/:enemy
示例
// Matchup between two champions $matchup = Matchup::info($as, $vs); // TODO: Consider adding Matchup::between($as, $vs) syntax
统计数据
与统计数据相关的端点和方法
所有统计数据
端点:/stats
示例
// Grab all stats $stats = Stats::all();
所有角色的所有统计数据
端点:/stats/role
示例
$allRoles = Stats::allRoles();
为统计数据选择特定角色
端点:/stats/role/:role/{mostImproved, leastImproved, leastWinning, mostWinning, worstPerformance, bestPerformance} [page, limit]
示例
// Set the role's name $name = 'Top'; // Set page and limit (default from Champion.gg API) $page = 1; $limit = 10; $stats = Stats::byRole($name); // We can also specify the flag: $statsMostImproved = Stats::byRole($name, Stats::ROLE_MOST_IMPROVED, $page, $limit); $statsLeastImproved = Stats::byRole($name, Stats::ROLE_LEAST_IMPROVED, $page, $limit); $statsLeastWinning = Stats::byRole($name, Stats::ROLE_LEAST_WINNING, $page, $limit); $statsMostWinning = Stats::byRole($name, Stats::ROLE_MOST_WINNING, $page, $limit); $statsWorstPerf = Stats::byRole($name, Stats::ROLE_WORST_PERFORMANCE, $page, $limit); $statsBestPerf = Stats::byRole($name, Stats::ROLE_BEST_PERFORMANCE, $page, $limit);
特定冠军相关的统计数据
端点:/stats/champs/:name
示例
$ahriStats = Stats::byChampion('Ahri');
通用冠军统计数据
端点:/stats/champs/{mostBanned, leastWinning, leastPlayed, mostPlayed, mostWinning, bestRated, worstRated} [page, limit]
示例
// Flag is required here: // By bans $champStats = Stats::champs(Stats::CHAMPION_MOST_BANNED, $page, $limit); // By playrate $champStats = Stats::champs(Stats::CHAMPION_MOST_PLAYED, $page, $limit); $champStats = Stats::champs(Stats::CHAMPION_LEAST_PLAYED, $page, $limit); // By winrate $champStats = Stats::champs(Stats::CHAMPION_MOST_WINNING, $page, $limit); $champStats = Stats::champs(Stats::CHAMPION_LEAST_WINNING, $page, $limit); // By rating $champStats = Stats::champs(Stats::CHAMPION_BEST_RATED, $page, $limit); $champStats = Stats::champs(Stats::CHAMPION_WORST_RATED, $page, $limit);