Jak nejlépe implementovat „transformace“ dat pro XML výstup

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tomáš Jacík
Člen | 147
+
0
-

Mám aplikaci, jejímž výstupem je XML soubor se seznamem objednávek. Aplikaci používají různí klienti a ti mají různé požadavky, jakým způsobem upravit/transformovat výstup.

Příklady „transformací“:

  • doplnění +420 telefonním číslům
  • změna zasílaného typu dopravy na základě kombinace dopravy a platby
  • doplnění adresy pobočky do poznámky v případě HeurekaPointu

Moje představa je, že budu mít jednotlivé „transformace“ jako samostatné služby a zaregistrované v configu jen ty, které klient chce používat. Postavím to na Kdyby\Events, budu si vygenerovanou strukturu dat předávat do těchto služeb jako odkaz, abych ji mohl ve službě jen upravit.

Další věcí je, že se ta aplikace připojuje na různé eshopy v různých verzích, potřebuji tedy nějak odstínit získávání dat z db eshopu od těchto „transformací“, aby byly znovupoužitelné na jiném typu eshopu.

Teď otázka: Přemýšlím nad tou imlementací dobrě? Jde to udělat nějak jednodušeji, nebo jsou ty eventy správná cesta? Jak byste se s tím poprali Vy?

Budu rád za každý tip.

Editoval Tomáš Jacík (24. 10. 2014 1:18)