leamare / simple-opendota-php
用于与 OpenDota API 交互的简单类接口
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-29 04:03:34 UTC
README
API 版本:18.0.0
为 PHP 提供简单的 OpenDota API 支持。
处理 API 冷却时间(避免被封禁)、API 密钥使用、OpenDota 各种实例的使用、命令行报告。
这是仅同步版本,方法命名奇特。它旨在用于简单的 PHP 脚本(首先是命令行脚本)。对于为 ReactPHP 制作的异步版本,请查找 reactive-opendota-php。
注意:它没有实现 /feed 端点。该端点通常不稳定,并且它还需要 HTTP 流支持,这在与同步 PHP 不兼容。
要求
- PHP >=5.3.0
- PHP 中的 cURL
您可以使用 Composer 检查所有要求。
如何使用
- 将
simple_opendota.php
包含到您的项目中 - 创建
new odota_api()
实例。
就这些。您可以通过 odota_api
方法与 OpenDota API 交互。每个方法都返回由 JSON 响应构成的关联数组。
您可以在 ENDPOINTS.md 中找到方法列表及其 API 对应项。
重要提示
额外的 odota_api() 参数
完整版本:odota_api($cli_report_status, $hostname, $cooldown, $api_key)
$cli_report_status
:(bool) 将每个动作报告到控制台。默认:false
$hostname
:(string) 您将要与之交互的 OpenDota API 实例的地址。默认:"https://api.opendota.com/api/"
$cooldown
:(int) 请求之间的 API 冷却时间(以毫秒为单位)。默认:1000
或200
如果指定了 API 密钥(大约每秒一次)$api_key
:(string) OpenDota API 密钥。默认:无
如果您需要跳过其中一个参数,可以将其留空以使用默认值。
工作模式
每个方法的最后一个参数是 $mode
。它可能有以下三个值之一
0
:安全模式,等待直到 API 准备就绪(默认)1
:强制模式,不等待 API 冷却时间-1
:快速模式,如果 API 准备就绪则丢弃请求
设置自定义回调
set_get_callback(function($url, $data) {})
仅适用于 GET 请求set_post_callback(function($url, $data) {})
仅适用于 POST 请求set_request_callback(function($url, $data, $post) {})
适用于所有请求(推荐)
具有多个参数的 API 端点
具有多个 GET 参数的 API 端点(例如,/players/{account_id}/matches
)使用附加参数
$params
:(array) 参数数组。每个键是参数的名称,每个值是它的值。
它是这些端点方法的第二个到最后一个参数。参数名称直接转换为 API 端点,因此如果您需要它们,只需检查 OpenDota 文档并使用相同的名称即可。
要查看哪些方法使用 $params
数组以及哪些没有,请检查 ENDPOINTS.md(或您也可以检查代码本身)。
示例
require "simple_opendota.php"; $od = new \SimpleOpenDotaPHP\odota_api(); $res = $od->match(1234567902); $od = new odota_api(true); $res = $od->player(123123123); $od = new odota_api(true, "localhost", 100); $res = $od->live(); $od->set_get_callback(function($url, $data) { return $url.' '.json_encode($data); }); $od->set_request_callback(function($url, $data, $post) { return 'R '.$url.' '.json_encode($data); });