Objecten > Sabre
Met Sabre wordt het mogelijk om verschillende API's aan te roepen die niet standaard in nodum te vinden zijn. Wil je meer informatie over Sabre, kijk dan hier.
sabre.xmlReader(string XML)
Zet XML om in een object (geen URL, echt een XML-string).
{{ sabre.xmlReader('<note><to>Tove</to><from>Jani</from></note>')|print_r }}
sabre.xmlWriter(array XMLObject, [string XMLNamespace])
Zet een array om in XML.
sabre.xmlWriter({ 'data' : { 'name' : 'Wietse', 'age' : 27 } }, 'https://xml.ipublications.net/')
sabre.get(string URL)
Roept een HTTP(s) URL aan, en geeft de output terug.
{{ sabre.get('http://nodum.io') }}
sabre.post(array URL, [array POSTData])
Roept een HTTP(s) URL aan via POST met optioneel POST-parameters, en geeft de output terug.
{{ sabre.post('http://localhost/debug.twig', { 'name' : 'José' } ) }}
sabre.on( string eventName , function closure / (or) string apiName ] )
Definiëert de functie (closure) of API (indien Namespaced: _ of \ als sub-namespace t.o.v. iPublications\Api\ gebruiken) welke aangeroepen moet worden op het punt dat elders een emit wordt gedaan van een zelfde eventName.
{{ sabre.on('forestRan', 'destroySomeTempData') }}
Als de Api 'destroySomeTempData' een 1e parameter heeft, zal deze als inputwaarde een array krijgen, met key 'distance' (zie sabre.emit-voorbeeld).
sabre.emit(string eventName, [array eventData])
Vuurt een event af, en geeft hierbij optioneel data mee aan de ontvanger van het event (zie sabre.on). Indien eerder een 'on' is gebind aan dezelfde eventName zal de closure of api welke hieraan is verbonden worden uitgevoerd.
{{ sabre.emit('forestRan', [ 'distance' => '10 km' ]) }}