Test Script für suhv_lib.php

Author Bert Hofmänner, Hofmänner New Media

About

Das SUHVphp Framework wurde erstellt, um schnell und einfach Daten über die SUHV Rest Schnittstelle beziehen und darstellen zu können. Weiter wird grosser Wert auf Performance gelegt. Die Schnittstelle soll also nicht unnütz aufgerufen werden. Darum wird ein dreistufiger Caching Prozess eingebaut. Die Daten, welche über die Schnittstelle aufgerufen werden, werden...

  1. auf dem Objekt (Klub oder Team),
  2. als Resultate auf dem API Manager und
  3. als Cache Files gespeichert

Lizenz

Das Script suhv_lip.php wird unter der Creative Commons Lizenz veröffentlicht. Du darfst das Script vervielfälltigen verbreiten oder öffentlich zugänglich machen. Auch Abwandlungen oder Bearbeitungen sind erlaubt. Einzige Bedingungen sind die Nennung des Authors und die nicht kommerzielle Verwertung. Keine kommerzielle Nutzung stellt die Nutzung für einen Unihockey Verein dar. Als kommerziell gilt beispielsweise der Einsatz in deiner Lösung, welche gegen Entgeld Dritten zur Verfügung gestellt wird.

Die vollständigen Lizenzbedingungen sind auf der Seite von Creative Commons zu finden.

Support

Grundsätzlich wir das Script "as-is" zur Verfügung gestellt. Es steht kein Support zur Verfügung. Allenfalls können Fragen über die Google Gruppe für Webmaster beantwortet werden.

Demo

Neben diesem File steht auch folgende Demo-Applikation zur Verfügung. Mit dieser Applikation können die Resultate von allen Klubs und Teams abgerufen werden.

zur Demo Applikation

Set-up

Stelle sicher, dass die Konstanten in suhv_lib.php richtig gesetzt sind. Die folgenden Konstanten können übrigens auch schon vor dem Aufruf der Library gesetzt werden. Der grosse Vorteil davon ist, dass die Library in diesem Falle unverändert eingebaut werden kann, was den Update auf spätere Versionen erleichtert!

define('CFG_SUHV_CLUB', 'UHC Winterthur United');
define('CFG_SUHV_API_KEY', 'dein_api_key_hier');
define('CFG_SUHV_CACHE_DIR', '/cache');

Erklärungen der Konstanten

Konstante Erklärung
CFG_SUHV_CLUB Der Name deines Clubs (muss mit dem Namen in der SUHV Datenbank übereinstimmen)
CFG_SUHV_API_KEY Der API Key wird von swissunihockey verwendet um den Zugriff auf die Schnittstelle überwachen zu können.
CFG_SUHV_CACHE_DIR Cache Verzeichnis - relativ zum Speicherort der Datei suhv_lib.php. Wichtig: Das Verzeichnis muss existieren und PHP braucht Schreibberechtigungen in diesem Verzeichnis!

Wichtig Diese drei Werte müssen richtig gesetzt sein! Sonst funktioniert das Framework nicht wie gewünscht. Ein API Key kann man auf api.swissunihockey.ch/ beantragen. Beim Cache Verzeichnis ist wichtig, dass PHP Schreibberechtigung in diesem Verzeichnis besitzt! Fehlt das Cache Verzeichnis oder verfügt PHP darin nicht über Schreibrechte, wird eine Exception geworfen.

Files

File Erklärung
suhv_lib.php Die Core Klassen des Frameworks. Sollte nicht verändert werden.
suhv_html_lib.php Klassen zum Generieren von HTML Output. Benötigt die Core Klassen. Kann frei geändert werden. Ich empfehle aber - wo möglich - Anpassungen über das CSS vorzunehmen.
suhv.css CSS File für die Darstellung des HTML Codes, der mit suhv_html_lib.php generiert wird. Kann beliebig verändert werden.
index.php Dieses File - demonstriert die Funktionen des Frameworks.
demo.php Eine Beispielanwendung, welche das SUHVphp Framework extensiv benützt. Reinschauen und inspirieren lassen ;-)
template.html HTML Template - wird für demo.php benötigt.

Einbindung in eigene Scripte

Dort wo du das SUHV Framework verwenden willst, musst du nur noch nur noch suhv_lip.php und suhv_html_lib.php einbinden. Am besten über require_once. suhv_html_lib.php wird nur benötigt, wenn auch die HTML Klassen gebraucht werden. Das könnte zum Beispiel so aussehen:

// 1. wichtige Konstanten definieren:
define('CFG_SUHV_CLUB', 'UHC Winterthur United');
define('CFG_SUHV_API_KEY', 'dein_api_key_hier');
define('CFG_SUHV_CACHE_DIR', '/cache');

// 2. libraries aufrufen
require_once('suhv_lib.php');
require_once('suhv_html_lib.php');

Fortgeschrittene PHP Entwickler machen um das ganze noch eine try / catch Schleife und fangen mögliche SuhvException.

Verein

Hier werden die Möglichkeiten auf Stufe Verein gezeigt. Der Verein wird im SUHVphp Framework über die Klasse SuhvClub abgebildet. Ein Club kann wie folgt erstellt werden:

$club = new SuhvClub(444, 2012);

Der erste Parameter ist die club_id und der zweite die aktuelle Saison. Beide Parameter können leer gelassen werden. In diesem Falle wird automatisch der in der Konstante CFG_SUHV_CLUB beschriebene Club für die aktuelle Saison eröffnet.

Vereins Informationen

Die Vereinsadresse kann über $club->getAddress() ausgelesen werden.

Eisweiherstrasse 82
8400 Winterthur
052 222 36 70

Es besteht auch die Möglichkeit die URL abzufragen: $club->getUrl():

www.win-u.ch

Alle Teams deines Vereins

Dieser Abschnitt zeigt ein Beispiel für den Clubs Services.

Diese Tabelle ist nicht für die Ausgabe auf einer Homepage gedacht. Sie demonstriert lediglich, wie man alle Teams eines Clubs von der Schnittstelle beziehen kann.

ID Team Teamname Ligacode Gruppe
409379 Herren GF 2. Liga UHC Winterthur United 114 4
431053 Herren GF 4. Liga UHC Winterthur United II 116 6
2896 Herren KF 5. Liga UHC Winterthur United III 127 9
431268 Junioren U14 B UHC Winterthur United 142 9
431792 Junioren U14 B UHC Winterthur United II 142 11
428334 U16 B UHC Winterthur United 162 3
429468 U21 C UHC Winterthur United 193 3
1256 Damen KF 1. Liga UHC Winterthur United 223 2
422305 Junioren D UHC Winterthur United III 344 18
418981 Junioren D UHC Winterthur United I 344 19
417971 Junioren D UHC Winterthur United II 344 25
429865 Junioren E UHC Winterthur United II 354 17
429365 Junioren E UHC Winterthur United I 354 19
430631 Junioren E UHC Winterthur United III 354 20

Letzte Spiele deines Vereins

Dieser Abschnitt behandelt die Search Funktion des Games Services.

Das tolle am SUHVphp Framework ist, dass sehr einfach Resultate ausgegeben werden können. Mit der folgenden Zeile Code erscheint die darauf folgende Ausgabe:

SuhvClubHtmlBuilder::outputPlayedGames($club);
Datum, Zeit Heim Gast Resultat
15.03.2026, 15:45 UHC Wängi Junioren U14 B 2 : 3
15.03.2026, 15:25 Herren GF 4. Liga Glattal Falcons III 7 : 3
15.03.2026, 14:30 Junioren D Red Lions Frauenfeld II 7 : 6
15.03.2026, 13:35 Herren GF 4. Liga Innebandy Zürich 11 II 4 : 5
15.03.2026, 12:50 Junioren U14 B UHC Tägerwilen 1 : 2
15.03.2026, 12:40 HC Rychenberg Winterthur IV Junioren D 12 : 3
15.03.2026, 11:45 Junioren U14 B Glattal Falcons 4 : 4
15.03.2026, 11:00 UHC Phantoms Rafzerfeld Junioren E 0 : 6
15.03.2026, 10:00 Junioren E Grasshopper Club Zürich II 2 : 6
15.03.2026, 09:55 Bassersdorf Nürensdorf Junioren U14 B 2 : 1
15.03.2026, 09:30 UHC B.S. Embrach Junioren E 1 : 10
14.03.2026, 17:15 Zürich Oberland Pumas III Junioren D 4 : 8
14.03.2026, 14:30 U16 B Bülach Floorball 1 : 13
14.03.2026, 14:30 U16 B Bülach Floorball 1 : 13
14.03.2026, 14:30 U16 B Bülach Floorball 1 : 13

Im oben gezeigten Beispiel sorgt die suhv_html_lib.php für die Zusammenstellung der gesuchten Spieldaten und stellt das Resultat direkt in HTML zur Verfügung.

Nächste Spiele deines Vereins

Dieser Abschnitt behandelt die Search Funktion des Games Services.

Datum, Zeit Heimteam Gastteam Spielort
22.03.2026, 09:30 Red Lions Frauenfeld II Junioren E Sporthalle Hirslen, Bülach
22.03.2026, 09:30 Red Lions Frauenfeld II Junioren E Sporthalle Hirslen, Bülach
22.03.2026, 10:00 Bülach Floorball IV Junioren E Sporthalle Hirslen, Bülach
22.03.2026, 10:00 Bülach Floorball IV Junioren E Sporthalle Hirslen, Bülach
22.03.2026, 10:00 Bülach Floorball IV Junioren E Sporthalle Hirslen, Bülach
22.03.2026, 10:00 Bülach Floorball IV Junioren E Sporthalle Hirslen, Bülach
22.03.2026, 11:00 Junioren E Red Lions Frauenfeld II Sporthalle Hirslen, Bülach
22.03.2026, 11:00 Junioren E Red Lions Frauenfeld II Sporthalle Hirslen, Bülach
22.03.2026, 11:30 Bülach Floorball IV Junioren E Sporthalle Hirslen, Bülach
22.03.2026, 11:30 Bülach Floorball IV Junioren E Sporthalle Hirslen, Bülach
22.03.2026, 11:30 Bülach Floorball IV Junioren E Sporthalle Hirslen, Bülach
22.03.2026, 11:30 Bülach Floorball IV Junioren E Sporthalle Hirslen, Bülach
22.03.2026, 13:35 Grasshopper Club Zürich III Junioren U14 B Oberseen, Winterthur
22.03.2026, 16:20 Junioren U14 B HC Rychenberg Winterthur II Oberseen, Winterthur
29.03.2026, 10:50 Kloten-Dietlikon Jets III Junioren D Kantihalle Frauenfeld, Frauenfeld

Auch diese Ausgabe ist mit einer Zeile Code zu erreichen, sobald man den $club definiert hat:

SuhvClubHtmlBuilder::outputPlannedGames($club);

Team

Wichtiger Tipp!

Um alle Möglichkeiten der SuhvTeam Klasse zu nutzen und die REST Services des SUHVs möglichst zu entlasten, macht es Sinn, dass die Team Objekte in einer Datenbank gespeichert werden. Diese Datenbank sollte folgende beiden Werte speichern:

Name Typ Beschreibung Beispiel
team_id INT(10) unsigned SUHV Team ID (muss nicht zwingend der PRIMARY KEY sein) 409379
object Text serialisiertes Team-Objekt $team->serialize()

Team Objekt erstellen

Die benötigten Werte, um ein Team Objekt zu erstellen, sollten aus der der Datenbank gelesen werden! Beispiel folgt:

// auslesen der Team Werte aus der Datenbank
$sql = "select team_id, object from team where team_id = 409379";
$result = mysql_query($sql);
$team = mysql_fetch_assoc($result);

// prüfen, ob ein serialisierter Wert des Objektes vorhanden ist
if ($team['object']) {
	$team = SuhvTeam::unserialize($team['object']));
} else {
	$team = new SuhvTeam($team['team_id'];
}
		

Zu beachten: Das Ranking ist ein Array, welcher fortlaufend auf dem Objekt gespeichert wird. Wird das Objekt auf der Datenbank gespeichert, zeigt er den Verlauf der Rangierung eines Teams nach Runden auf. Wird das Objekt nicht auf der Datenbank serialisiert gespeichert, kann diese Funktion nicht genutzt werden. Ich empfehle daher unbedingt, dass jedes Team-Objekt auf der Datenbank serialisiert gespeichert wird.

Team Objekt in der DB speichern

Am Ende jedes Scriptes sollte geprüft werden, ob das Team Objekt geändert wurde. Diese Information liefert die Methode $team->isUpdated(). Falls ja, muss das Objekt in der Datenbank gespeichert werden.

// prüfen, ob das Team Objekt geändert wurde
if ($team->isUpdated()) {
	// team objekt in der datenbank speichern!
	$sql = "UPDATE team SET object = '" . $team->serialize() . "' WHERE team_id = " . $team->getId();
	mysql_query($sql);
}

Alle Spiele eines Teams

Dieser Abschnitt behandelt die Teams Services.

Bitte schaut im Quelltext von index.php nach, wie wir die Team Daten auslesen.

Cupspiele

Datum, Zeit Heim Gast Resultat
17.05.2025, 10:15 UHC Wehntal Regensdorf UHC Winterthur United 4 : 5 n.V.
29.06.2025, 18:30 UHC Lokomotive Stäfa UHC Winterthur United 3 : 8
23.08.2025, 18:00 UHC R. Grabs-Werdenberg UHC Winterthur United 5 : 4

Gespielte Meisterschaftspiele

Datum, Zeit Heim Gast Resultat
13.09.2025, 18:00 UHC R. Grabs-Werdenberg UHC Winterthur United 5 : 0
20.09.2025, 19:00 Kadetten UH Schaffhausen UHC Winterthur United 2 : 4
27.09.2025, 18:00 UHC Winterthur United Nesslau Sharks 5 : 7
05.10.2025, 13:30 UHC Alligator Malans II UHC Winterthur United 4 : 7
12.10.2025, 17:00 UHC Winterthur United United Toggenburg Bazenheid 5 : 1
19.10.2025, 14:00 UHC Winterthur United UHC Sarganserland II 4 : 6
02.11.2025, 18:00 UH Appenzell UHC Winterthur United 2 : 6
09.11.2025, 17:00 UHC Winterthur United Hurricanes Glarnerland Weesen 5 : 2
16.11.2025, 14:00 UHC Wängi UHC Winterthur United 3 : 2
23.11.2025, 17:00 UHC Winterthur United UHC R. Grabs-Werdenberg 3 : 7
30.11.2025, 19:00 UHC Winterthur United Kadetten UH Schaffhausen 7 : 4
06.12.2025, 20:00 Nesslau Sharks UHC Winterthur United 4 : 3
11.01.2026, 17:00 UHC Winterthur United UHC Alligator Malans II 6 : 3
17.01.2026, 19:30 United Toggenburg Bazenheid UHC Winterthur United 5 : 6
25.01.2026, 14:00 UHC Sarganserland II UHC Winterthur United 4 : 3
08.02.2026, 17:00 UHC Winterthur United UH Appenzell 3 : 6
14.02.2026, 19:45 Hurricanes Glarnerland Weesen UHC Winterthur United 3 : 8
01.03.2026, 16:00 UHC Winterthur United UHC Wängi 4 : 5

Zukünftige Meisterschaftsspiele

Tabelle

R. Team S G U V + - +/- P
1 UHC R. Grabs-Werdenberg 18 11 (3) 0 2 (2) 98 62 36 41
2 United Toggenburg Bazenheid 18 11 (2) 0 5 96 64 32 37
3 Nesslau Sharks 18 9 (3) 0 5 (1) 79 66 13 34
4 UHC Wängi 18 9 (1) 0 4 (4) 110 96 14 33
5 UH Appenzell 18 8 (2) 0 7 (1) 91 85 6 29
6 UHC Winterthur United 18 9 0 9 81 73 8 27
7 Kadetten UH Schaffhausen 18 8 (1) 0 9 84 86 -2 26
8 UHC Sarganserland II 18 8 0 8 (2) 90 96 -6 26
9 Hurricanes Glarnerland Weesen 18 2 (3) 0 12 (1) 58 92 -34 13
10 UHC Alligator Malans II 18 0 0 14 (4) 55 122 -67 4

Alle Spiele der Gruppe

Dieser Abschnitt bezieht Daten vom Leagues Service. Um die Daten der Liga zu erhalten, muss ein SuhvLeague Objekt erstellt werden. Das SuhvLeague Objekt kann aus dem SuhvTeam Objekt geholt werden ($team->getSuhvLeague()) oder es kann neu instanziert werden ($league = new SuhvLeague($team->getLeague(), $team->getGroup())).

Runde 1
Datum, Zeit Heim Gast Resultat
12.09.2025, 20:00 Hurricanes Glarnerland Weesen UH Appenzell 2 : 9
13.09.2025, 15:00 UHC Sarganserland II UHC Wängi 3 : 8
13.09.2025, 17:00 UHC Alligator Malans II Kadetten UH Schaffhausen 2 : 6
13.09.2025, 18:00 UHC R. Grabs-Werdenberg UHC Winterthur United 5 : 0
13.09.2025, 19:30 United Toggenburg Bazenheid Nesslau Sharks 5 : 1
Runde 2
Datum, Zeit Heim Gast Resultat
20.09.2025, 14:00 UHC Wängi UH Appenzell 8 : 4
20.09.2025, 19:00 Kadetten UH Schaffhausen UHC Winterthur United 2 : 4
20.09.2025, 19:45 Hurricanes Glarnerland Weesen United Toggenburg Bazenheid 1 : 8
20.09.2025, 20:00 UHC R. Grabs-Werdenberg UHC Sarganserland II 8 : 7 n.V.
21.09.2025, 17:00 Nesslau Sharks UHC Alligator Malans II 7 : 4
Runde 3
Datum, Zeit Heim Gast Resultat
27.09.2025, 17:00 UHC Alligator Malans II United Toggenburg Bazenheid 4 : 7
27.09.2025, 18:00 UHC Winterthur United Nesslau Sharks 5 : 7
27.09.2025, 20:00 UH Appenzell UHC R. Grabs-Werdenberg 2 : 4
28.09.2025, 14:00 UHC Sarganserland II Kadetten UH Schaffhausen 4 : 7
28.09.2025, 14:00 Hurricanes Glarnerland Weesen UHC Wängi 3 : 7
Runde 4
Datum, Zeit Heim Gast Resultat
04.10.2025, 17:00 United Toggenburg Bazenheid UHC Wängi 6 : 3
04.10.2025, 17:00 UHC R. Grabs-Werdenberg Hurricanes Glarnerland Weesen 4 : 5 n.V.
04.10.2025, 19:00 Kadetten UH Schaffhausen UH Appenzell 3 : 2 n.V.
04.10.2025, 20:00 Nesslau Sharks UHC Sarganserland II 3 : 0
05.10.2025, 13:30 UHC Alligator Malans II UHC Winterthur United 4 : 7
Runde 5
Datum, Zeit Heim Gast Resultat
11.10.2025, 17:00 UHC Wängi UHC R. Grabs-Werdenberg 3 : 6
11.10.2025, 17:00 UH Appenzell Nesslau Sharks 5 : 2
12.10.2025, 14:00 UHC Sarganserland II UHC Alligator Malans II 6 : 3
12.10.2025, 17:00 UHC Winterthur United United Toggenburg Bazenheid 5 : 1
12.10.2025, 18:00 Kadetten UH Schaffhausen Hurricanes Glarnerland Weesen 4 : 3
Runde 6
Datum, Zeit Heim Gast Resultat
18.10.2025, 17:00 United Toggenburg Bazenheid UHC R. Grabs-Werdenberg 5 : 4 n.P.
18.10.2025, 19:00 UHC Alligator Malans II UH Appenzell 6 : 7 n.V.
18.10.2025, 19:00 Kadetten UH Schaffhausen UHC Wängi 7 : 6
18.10.2025, 20:00 Nesslau Sharks Hurricanes Glarnerland Weesen 4 : 3 n.V.
19.10.2025, 14:00 UHC Winterthur United UHC Sarganserland II 4 : 6
Runde 7
Datum, Zeit Heim Gast Resultat
01.11.2025, 17:00 UHC Wängi Nesslau Sharks 5 : 6 n.V.
02.11.2025, 14:00 Hurricanes Glarnerland Weesen UHC Alligator Malans II 5 : 4 n.V.
02.11.2025, 14:00 UHC Sarganserland II United Toggenburg Bazenheid 4 : 7
02.11.2025, 18:00 UH Appenzell UHC Winterthur United 2 : 6
02.11.2025, 18:00 UHC R. Grabs-Werdenberg Kadetten UH Schaffhausen 7 : 3
Runde 8
Datum, Zeit Heim Gast Resultat
07.11.2025, 20:30 United Toggenburg Bazenheid Kadetten UH Schaffhausen 3 : 1
09.11.2025, 17:00 UHC Winterthur United Hurricanes Glarnerland Weesen 5 : 2
09.11.2025, 17:00 Nesslau Sharks UHC R. Grabs-Werdenberg 4 : 1
09.11.2025, 18:00 UHC Sarganserland II UH Appenzell 5 : 6
09.11.2025, 19:30 UHC Alligator Malans II UHC Wängi 7 : 8 n.V.
Runde 9
Datum, Zeit Heim Gast Resultat
15.11.2025, 20:00 UHC R. Grabs-Werdenberg UHC Alligator Malans II 7 : 6 n.V.
16.11.2025, 14:00 UHC Wängi UHC Winterthur United 3 : 2
16.11.2025, 18:00 Hurricanes Glarnerland Weesen UHC Sarganserland II 2 : 4
16.11.2025, 19:00 Kadetten UH Schaffhausen Nesslau Sharks 5 : 4
16.11.2025, 19:00 UH Appenzell United Toggenburg Bazenheid 4 : 6
Runde 10
Datum, Zeit Heim Gast Resultat
22.11.2025, 19:00 Kadetten UH Schaffhausen UHC Alligator Malans II 7 : 4
22.11.2025, 20:00 Nesslau Sharks United Toggenburg Bazenheid 5 : 6 n.V.
23.11.2025, 14:00 UHC Wängi UHC Sarganserland II 8 : 11
23.11.2025, 17:00 UHC Winterthur United UHC R. Grabs-Werdenberg 3 : 7
23.11.2025, 20:00 UH Appenzell Hurricanes Glarnerland Weesen 6 : 5
Runde 11
Datum, Zeit Heim Gast Resultat
29.11.2025, 20:00 UH Appenzell UHC Wängi 5 : 8
30.11.2025, 10:30 UHC Alligator Malans II Nesslau Sharks 3 : 5
30.11.2025, 14:00 United Toggenburg Bazenheid Hurricanes Glarnerland Weesen 5 : 3
30.11.2025, 17:00 UHC Sarganserland II UHC R. Grabs-Werdenberg 1 : 4
30.11.2025, 19:00 UHC Winterthur United Kadetten UH Schaffhausen 7 : 4
Runde 12
Datum, Zeit Heim Gast Resultat
06.12.2025, 14:00 UHC Wängi Hurricanes Glarnerland Weesen 6 : 7 n.V.
06.12.2025, 17:00 United Toggenburg Bazenheid UHC Alligator Malans II 9 : 0
06.12.2025, 17:00 UHC R. Grabs-Werdenberg UH Appenzell 4 : 5
06.12.2025, 19:00 Kadetten UH Schaffhausen UHC Sarganserland II 13 : 7
06.12.2025, 20:00 Nesslau Sharks UHC Winterthur United 4 : 3
Runde 13
Datum, Zeit Heim Gast Resultat
10.01.2026, 16:00 UH Appenzell Kadetten UH Schaffhausen 6 : 4
10.01.2026, 17:00 UHC Wängi United Toggenburg Bazenheid 5 : 4
10.01.2026, 17:00 Hurricanes Glarnerland Weesen UHC R. Grabs-Werdenberg 3 : 6
10.01.2026, 17:00 UHC Sarganserland II Nesslau Sharks 3 : 6
11.01.2026, 17:00 UHC Winterthur United UHC Alligator Malans II 6 : 3
Runde 14
Datum, Zeit Heim Gast Resultat
17.01.2026, 17:00 UHC R. Grabs-Werdenberg UHC Wängi 6 : 5 n.V.
17.01.2026, 17:00 Hurricanes Glarnerland Weesen Kadetten UH Schaffhausen 3 : 2
17.01.2026, 19:30 United Toggenburg Bazenheid UHC Winterthur United 5 : 6
17.01.2026, 20:00 Nesslau Sharks UH Appenzell 4 : 1
18.01.2026, 18:00 UHC Alligator Malans II UHC Sarganserland II 2 : 7
Runde 15
Datum, Zeit Heim Gast Resultat
24.01.2026, 14:00 UHC Wängi Kadetten UH Schaffhausen 10 : 7
24.01.2026, 17:00 UHC R. Grabs-Werdenberg United Toggenburg Bazenheid 6 : 2
24.01.2026, 17:00 Hurricanes Glarnerland Weesen Nesslau Sharks 0 : 2
24.01.2026, 20:00 UH Appenzell UHC Alligator Malans II 9 : 1
25.01.2026, 14:00 UHC Sarganserland II UHC Winterthur United 4 : 3
Runde 16
Datum, Zeit Heim Gast Resultat
06.02.2026, 20:30 United Toggenburg Bazenheid UHC Sarganserland II 2 : 5
07.02.2026, 19:00 Kadetten UH Schaffhausen UHC R. Grabs-Werdenberg 3 : 4
07.02.2026, 20:00 Nesslau Sharks UHC Wängi 8 : 7 n.V.
08.02.2026, 17:00 UHC Alligator Malans II Hurricanes Glarnerland Weesen 1 : 5
08.02.2026, 17:00 UHC Winterthur United UH Appenzell 3 : 6
Runde 17
Datum, Zeit Heim Gast Resultat
14.02.2026, 17:00 UHC R. Grabs-Werdenberg Nesslau Sharks 6 : 4
14.02.2026, 19:00 Kadetten UH Schaffhausen United Toggenburg Bazenheid 2 : 7
14.02.2026, 19:45 Hurricanes Glarnerland Weesen UHC Winterthur United 3 : 8
14.02.2026, 20:00 UHC Wängi UHC Alligator Malans II 5 : 0 ff
15.02.2026, 19:00 UH Appenzell UHC Sarganserland II 7 : 6 n.V.
Runde 18
Datum, Zeit Heim Gast Resultat
28.02.2026, 13:30 UHC Alligator Malans II UHC R. Grabs-Werdenberg 1 : 9
28.02.2026, 17:00 United Toggenburg Bazenheid UH Appenzell 8 : 5
28.02.2026, 20:00 Nesslau Sharks Kadetten UH Schaffhausen 3 : 4
01.03.2026, 14:00 UHC Sarganserland II Hurricanes Glarnerland Weesen 7 : 3
01.03.2026, 16:00 UHC Winterthur United UHC Wängi 4 : 5

Debug

Für die Performance deines Scriptes ist es wichtig, die REST Anfragen so weit als möglich zu minimieren. Mit der Anweisung SuhvApiManager::getInstance()->getLog(), kannst du kontrollieren, wieviele Anfragen getätigt wurden:

Array
(
    [0] => 2026-03-21 16:46:21 - 200 - clubs/search?q=Winterthur%20United
    [1] => 2026-03-21 16:46:21 - cache - clubs/444/teams?season=2025
    [2] => 2026-03-21 16:46:21 - cache - clubs/444
    [3] => 2026-03-21 16:46:21 - cache - teams/409379/registrations?season=2025
    [4] => 2026-03-21 16:46:21 - internal - clubs/444
    [5] => 2026-03-21 16:46:21 - internal - clubs/444
    [6] => 2026-03-21 16:46:21 - cache - teams/431053/registrations?season=2025
    [7] => 2026-03-21 16:46:21 - cache - teams/2896/registrations?season=2025
    [8] => 2026-03-21 16:46:21 - cache - teams/431268/registrations?season=2025
    [9] => 2026-03-21 16:46:21 - cache - teams/431792/registrations?season=2025
    [10] => 2026-03-21 16:46:21 - cache - teams/428334/registrations?season=2025
    [11] => 2026-03-21 16:46:21 - cache - teams/429468/registrations?season=2025
    [12] => 2026-03-21 16:46:21 - cache - teams/1256/registrations?season=2025
    [13] => 2026-03-21 16:46:21 - cache - teams/422305/registrations?season=2025
    [14] => 2026-03-21 16:46:21 - cache - teams/418981/registrations?season=2025
    [15] => 2026-03-21 16:46:21 - cache - teams/417971/registrations?season=2025
    [16] => 2026-03-21 16:46:21 - cache - teams/429865/registrations?season=2025
    [17] => 2026-03-21 16:46:21 - cache - teams/429365/registrations?season=2025
    [18] => 2026-03-21 16:46:21 - cache - teams/430631/registrations?season=2025
    [19] => 2026-03-21 16:46:21 - cache - games/search?q=UHC%20Winterthur%20United&status=played&order=desc&season=2025&limit=15
    [20] => 2026-03-21 16:46:21 - cache - games/search?q=UHC%20Winterthur%20United&status=planned&order=asc&season=2025&limit=15
    [21] => 2026-03-21 16:46:21 - cache - gyms/463238
    [22] => 2026-03-21 16:46:21 - internal - gyms/463238
    [23] => 2026-03-21 16:46:21 - internal - gyms/463238
    [24] => 2026-03-21 16:46:21 - internal - gyms/463238
    [25] => 2026-03-21 16:46:21 - internal - gyms/463238
    [26] => 2026-03-21 16:46:21 - internal - gyms/463238
    [27] => 2026-03-21 16:46:21 - internal - gyms/463238
    [28] => 2026-03-21 16:46:21 - internal - gyms/463238
    [29] => 2026-03-21 16:46:21 - internal - gyms/463238
    [30] => 2026-03-21 16:46:21 - internal - gyms/463238
    [31] => 2026-03-21 16:46:21 - internal - gyms/463238
    [32] => 2026-03-21 16:46:21 - internal - gyms/463238
    [33] => 2026-03-21 16:46:21 - cache - gyms/30614
    [34] => 2026-03-21 16:46:21 - internal - gyms/30614
    [35] => 2026-03-21 16:46:21 - cache - gyms/30181
    [36] => 2026-03-21 16:46:22 - 200 - teams/409379/games?order=asc&season=2025&limit=100
    [37] => 2026-03-21 16:46:22 - internal - teams/409379/registrations?season=2025
    [38] => 2026-03-21 16:46:22 - 200 - teams/409379/table?season=2025
    [39] => 2026-03-21 16:46:22 - 200 - leagues/114/groups?season=2025
    [40] => 2026-03-21 16:46:22 - 200 - leagues/114/groups/4/games?season=2025&order=asc&limit=200
    [41] => 2026-03-21 16:46:22 - 200 - leagues/114/groups/4/table?season=2025
)

Erklärungen: In jeder Kolonne wird die Zeit der Anfrage, der HTTP Status Code resp. die Quelle sowie der Angefragte Service mit seinen Parametern aufgeführt. Mögliche Werte für die Quelle: