drsdre / yii2-xmlsoccer
XMLSoccer.com API 访问的 Yii2 扩展
1.0.0
2018-05-01 15:05 UTC
Requires
- php: >=5.5.0
- yiisoft/yii2: ~2.0
- yiisoft/yii2-httpclient: ~2.0
Requires (Dev)
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(); }
这就完了!