30.12.2002

Interní komunikace

Požadavky

Cyklus činnosti

Z toho vyplývá:

Návrh API (prostřednictvím příkladu)

Modul, který může být adresát, může vkládat další moduly a sám být vkládán:
		#modul 'modul.php'
		require('komunik.php');
		#vkládání dalších modulů
		require_once('modul1.php');
		...
		require_once('moduln.php');
		#require_once místo require, aby se zamezilo cyklickému vkládání

		...

		kom_register_address('modul.php', 'modul_addr');
		funcion modul_addr($request, &$metadata, &$data) {
			...
			$state	= $kom_send('modul2.php', 'request2', $metadata, $send_data, $receive_data);
			...
			kom_reply(KOM_OK, $metadata, $reply_data);
		}

		...

		#poslední akce v modulu
		kom_listen();
	
Modul, který pouze vytváří adresu zpracovanou jinde:
		#modul 'adresa.php'
		require('zpracovavajici_modul.php');
	

Proč rozdělení na metadata a data

Metadata by měla být perzistentní data o stavu session, ...; formulářník je musí transparentně zapracovat do generovaných stránek (uživatel u prohlížeče by si jich vůbec neměl všimnout); pošťák takovou možnost nemá, ale tam se předpokládá vyšší úroveň spolupráce uživatele.

Struktura předávaných dat

Přepokládá se stromová struktura, uzly jsou pole, synové jsou pojmenování názvy klíčů v poli, listy jsou typu boolean/integer/double/string.

Poznámky