drsdre/yii2-xmlsoccer

XMLSoccer.com API 访问的 Yii2 扩展

安装: 78

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 3

开放问题: 1

类型:yii2-extension

1.0.0 2018-05-01 15:05 UTC

This package is auto-updated.

Last update: 2024-08-29 03:58:05 UTC


README

XMLSoccer API 的 Yii2 客户端

完整的 API 文档在这里:http://xmlsoccer.wikia.com/wiki/API_Documentation

要求

PHP5 带有 CURL 和 SimpleXML 扩展。

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一

$ composer require --prefer-dist drsdre/yii2-xmlsoccer "*"

或者在您的 composer.json 文件的 require 部分添加以下内容

"drsdre/yii2-xmlsoccer": "*" 

to the require section of your composer.json file.

使用方法

您需要将客户端配置为应用程序组件

'components' => [
    'xmlsoccerApi' => [
        'class' => '\drsdre\yii\xmlsoccer\Client',
        'apiKey' => 'xxx',
        'serviceUrl' => 'http://www.xmlsoccer.com/FootballData.asmx',
    ]
    ...
]

或直接在代码中定义客户端

$client = new \drsdre\yii\xmlsoccer\Client([
    'apiKey' => 'xxx',
    'serviceUrl' => 'http://www.xmlsoccer.com/FootballData.asmx',
]);

默认情况下,客户端 URL 设置为演示 API(http://www.xmlsoccer.com/FootballData.asmx)。对于演示访问,请使用 http://www.xmlsoccer.com/FootballDataDemo.asmx 作为 URL。

配置

可选地,可以添加缓存组件以在调用超时时保持客户端返回的数据

'components' => [
    'xmlsoccerApi' => [
        'class' => '\drsdre\yii\xmlsoccer\Client',
        'apiKey' => 'xxx',
        'cache' => [
            'class' => '\yii\caching\FileCache'
        ],
    ]
    ...
]

为了加快数据处理速度,可以通过将参数 'generate_hash' 设置为 true 来生成内容哈希。然后,XML 输出将包括两个新的属性

  • contentHash: MD5 哈希
  • sourceURL: 用于检索数据的 URL

如果您需要通过特定的网络适配器执行 API,则可以指定出站 IP

$client = new \drsdre\yii\xmlsoccer\Client([
    'apiKey' => 'xxx',
    'serviceUrl' => 'http://www.xmlsoccer.com/FootballData.asmx',
    'serviceIp' => '192.168.1.1',
]);

如何使用 API

转到 入门 并获取访问 XMLSoccer.com API 的 API 密钥。

包含模块,并调用其中一种可用方法。

可用方法

转到 http://www.xmlsoccer.com/FootballData.asmx 了解更多关于方法和参数的信息,包括在线测试。查看 输入数据格式 了解输入参数的格式化方式。

示例

列出 ID 为 49 的队伍的球员

try {
    $client = new \drsdre\yii\xmlsoccer\Client([
        'apiKey' => 'xxx',
    ]);
    $players = $client->getPlayersByTeam('49');
    echo "Players List:<br>";
    foreach($players as $key => $value) {
        echo "<b>".$value->Name."</b> ".$value->Position."<br>";
    }
}
catch(Exception $e) {
    echo "XMLSoccer Exception: ".$e->getMessage();
}

如果您的服务器有多个可用的 IP,则可以设置请求的任何 IP

try {
    $client = new \drsdre\yii\xmlsoccer\Client([
        'apiKey' => 'xxx',
    ]);
    $client->setRequestIp("ip_for_request");
    $leagues = $client->getLeagueStandingsBySeason('3', '1516'));
    var_dump($leagues);
}
catch(Exception $e) {
    echo "XMLSoccer Exception: ".$e->getMessage();
}

如果您有试用/免费演示源,请按此方式使用

try{
    $client = new \drsdre\yii\xmlsoccer\Client([
        'apiKey' => 'xxx',
        'serviceUrl' => 'http://www.xmlsoccer.com/FootballDataDemo.asmx',
    ]);
    $fixtures = $client->getFixturesByDateIntervalAndLeague('2016-01-01 00:00', '2016-02-01 00:00', '3'));
    var_dump($fixtures);
}
catch(Exception $e){
    echo "XMLSoccer Exception: ".$e->getMessage();
}

这就完了!