m1so/champion

用 PHP 编写的 Champion.gg API 包装器

v0.0.1 2015-12-30 17:23 UTC

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);