Ich stehe leider total auf dem Schlauch!
Mein Problem ist, dass ich im PHP eine API-Schnittstelle auslese. So weit, so gut.
Nun findet es die Schnittstelle natürlich nicht wirklich toll, wenn hier jemand z.Bsp. alle 5 Sekunden die gleiche Abfrage macht.
Das möchte ich nun verhindern, indem ich prüfe, ob GENAU DIESE Abfrage bereist gemacht worden ist und falls ja, sie nicht mehr gemacht wird. Statt dessen soll die beim letzten mal befüllte Session-Variable gelesen und und die "normalen" Variablen geschrieben werden, falls z.Bsp in den letzten 5 Minuten bereits mit den gleichen Parametern die Schnittstelle gelesen wurde.
Kann mir dazu jemand helfen?
Es wäre wirklich toll, es könnte mich Anfänger hier jemand unterstützen.
VIELEN DANK!
Marc
Mein Problem ist, dass ich im PHP eine API-Schnittstelle auslese. So weit, so gut.
Nun findet es die Schnittstelle natürlich nicht wirklich toll, wenn hier jemand z.Bsp. alle 5 Sekunden die gleiche Abfrage macht.
Das möchte ich nun verhindern, indem ich prüfe, ob GENAU DIESE Abfrage bereist gemacht worden ist und falls ja, sie nicht mehr gemacht wird. Statt dessen soll die beim letzten mal befüllte Session-Variable gelesen und und die "normalen" Variablen geschrieben werden, falls z.Bsp in den letzten 5 Minuten bereits mit den gleichen Parametern die Schnittstelle gelesen wurde.
Kann mir dazu jemand helfen?
PHP-Code:
<?php
require_once('httpful.phar');
use Httpful\Request;
use Httpful\Http;
$auth_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$api_version = 'v1';
$api_url = 'http://api.xxxxxxxx.ch/rest/'.$api_version;
session_start();
$template = Request::init()
->method(Http::GET)
->expectsJson()
->addHeader('Authorization', 'Basic ' . $auth_key);
function request($uri)
{
global $template;
Request::ini($template);
$response = Request::get($uri)
->send();
if($response->code != 200)
{
echo $response->code;
return null;
}
else
{
return $response->body;
}
}
function getClubs()
{
global $api_url;
$uri = $api_url . '/clubs';
return request($uri);
}
function getClub($id)
{
global $api_url;
$uri = $api_url . '/clubs/'.$id;
return request($uri);
}
function getTeams($club_id)
{
global $api_url;
$uri = $api_url . '/clubs/'. $club_id . '/teams';
return request($uri);
}
function getGamesByClub($club_id, $filter = null)
{
global $api_url;
$uri = $api_url . '/clubs/'. $club_id . '/games';
if($filter != null && is_array($filter))
{
$uri = $uri . '?';
foreach ($filter as $key => $value)
{
$uri = $uri . $key . '=' . $value . '&';
}
$uri = substr($uri, 0, -1);
}
return request($uri);
}
function getTeam($team_id)
{
global $api_url;
$uri = $api_url . '/teams/'. $team_id;
return request($uri);
}
function getGamesByTeam($team_id, $filter = null)
{
global $api_url;
$uri = $api_url . '/teams/'. $team_id . '/games';
if($filter != null && is_array($filter))
{
$uri = $uri . '?';
foreach ($filter as $key => $value)
{
$uri = $uri . $key . '=' . $value . '&';
}
$uri = substr($uri, 0, -1);
}
return request($uri);
}
function getGroup($team_id)
{
global $api_url;
$uri = $api_url . '/teams/'. $team_id . '/group';
return request($uri);
}
function getGroupRanking($team_id)
{
global $api_url;
$uri = $api_url . '/teams/'. $team_id . '/group/ranking';
return request($uri);
}
?>
VIELEN DANK!
Marc
Kommentar