kbsali / gsm-api
GlobalSportsMedia (GSM) API 客户端
1.0.3
2014-02-17 10:31 UTC
Requires
- php: >=5.4
- ext-curl: *
This package is auto-updated.
Last update: 2024-09-04 19:45:32 UTC
README
A simple PHP5 Object Oriented wrapper for GlobalSportsMedia (GSM) XML API.
请参阅http://client.globalsportsmedia.com/documentation
特性
- 遵循PSR-0约定和编码标准:易于自动加载
- API入口点实现状态
- OK 足球
- OK 澳大利亚足球
- OK 澳大利亚足球
- OK 棒球
- OK 篮球
- OK 板球
- OK 高尔夫
- OK 手球
- OK 曲棍球
- OK 汽车运动
- OK 橄榄球
- OK 网球
- OK 排球
需求
- PHP >= 5.4,需要cURL 扩展
安装
通过composer,只需运行
$ php composer.phar require kbsali/gsm-api:1.*
php-gsm-api
客户端的基本用法
所有方法都返回一个SimpleXmlElement对象,或者在出现错误时抛出异常。根据globalsportsmedia.com中记录的基本工作流程操作足球数据
<?php // This file is generated by Composer require_once 'vendor/autoload.php'; $client = new GlobalSportsMedia\Client('http://webpull.globalsportsmedia.com', 'USERNAME', 'PASSWORD'); $client ->cacheOn() // for live method (like get_matches_live_updates) you might want to disable caching ->setCacheDir(__DIR__.'/cache') // path where xml responess will be cached ; try { $seasons = $client->api('soccer')->get_seasons(['authorized' => 'yes']); foreach ($seasons->competition as $competition) { foreach ($competition->season as $season) { $matches = $client->api('soccer') ->cacheOncePerDay() // cache, but only once a day! ->get_matches( (int) $season['season_id'], 'season', ['detailed' => 'yes', 'start_date' => date('Y-m-d H:00:00')] ) ; // process matches... } } } catch(\Exception $e) { die($e->getMessage()); }
您可以控制是否要缓存对API的请求(get_seasons()不太可能每天都会变化)
- 使用
cacheOff()
永远不缓存请求 - 使用
cacheOn()
无限期地缓存请求(即,直到清理缓存为止) - 使用
cacheOncePerDay()
缓存当天的请求
如果您想缓存请求,您必须通过setCacheDir()
指定缓存目录