Před použitím knihovny je potřeba zaregistrovat aplikaci kterou píšete a získat Application_ID. Podrobné informace najdete na ws.skauting.cz.
Protože SkautIS obsahuje důležitá a citlivá data, není vhodné používat ho při vývoji. Pro tento účel je zde test-is.skaut.cz.
Centrální část knihovny je třída Skautis\Skautis
. Tu je potřeba správně nakonfigurovat.
Toto řešení funguje out of the box s minimálním nastavením. Je vhodné pro aplikace nevyužívající framework.
//ID aplikace ziskane při registraci
$applicationId = "moje-application-id";
//Indikátor jestli se má použít test-is.skaut.cz
$isTestMode = true;
//
$skautis = Skautis\Skautis::getInstance($applicationId, $isTestMode);
Tento způsob je poněkud zdlouhavý, ale dává možnost maximální flexibility.
Veškerá konfigurace je udržována v jediném objektu, který je potřeba vytvořit a nastavit.
//ID aplikace ziskane při registraci
$applicationId = "moje-application-id";
//Indikátor jestli se má použít test-is.skaut.cz
$isTestMode = true;
//Povol cache pro WSDL
$cache = $true;
//Povol kompresi pro data přenášená ze SkautISu
$compression = true;
$config = new Skautis\Config($applicationId, $isTestMode, $cache, $compression);
Knihovna uchovává nějaké informace mezi requesty. K maximální kompatibilitě mezi různými frameworky knihovna používá adapter pattern. Adapter pro $_SESSION
je k dispozici v knihovne.
//Adapter pro $_SESSION
$sessionAdapter = new Skautis\SessionAdapter\SessionAdapter();
Tato komponenta se stará o správné vytváření objektů pro webové služby. Jedná se o abstract factory pattern který je vhodný když je potřeba pro aplikaci nějakým způsobem upravit vytváření objektů webových služeb. Například přidat logování všech požadavků na SkautIS.
$webServiceFactory = new Skautis\Wsdl\WebServiceFactory();
Tato třída se stará o vše okolo požadavků na server.
$wsdlManager = new Skautis\Wsdl\WsdlManager($webServiceFactory, $config);
Na skautis může být přihlášen právě jeden uživatel. Informace o tomto uživateli jsou mezi requesty uloženy v session.
$user = new Skautis\User($wsdlManager, $essionAdapter);
Všechno dohromady lepí třída Skautis
. To je také objekt se kterým budete pracovat.
$skautis = new Skautis\Skautis($wsdlManager, $user);