SWX Format

SWX (SWF Data Exchange Format) ist ein Format zum Austausch von Daten. Es basiert auf gewöhnlichen SWF-Dateien und wurde von Aral Balkan entwickelt.

Flash <-> PHP

Mit SWX kann man von einer Flashanwendung mit PHP kommunizieren. Man erstellt ein neues SWX-Objekt, das einen "PHP-Service" aufruft. Dabei können Parameter von Flash an PHP übergeben werden. Anschließend liefert der PHP-Service ein Ergebnis zurück.

PHP

Der "PHP-Service" ist eine PHP-Klasse, die man selbst geschrieben hat und auf dem Server ablegt. In ihr kann z.B. Werte aus einer MySQL-Datenbank auslesen und an Flash übermitteln. Hier ein einfaches Beispiel von Aral Balkan, das zwei übergebene Zahlen addiert und an Flash zurückliefert.

PHP:
  1.  
  2.     class Calculator
  3.     {
  4.         function addNumbers ($n1, $n2)
  5.         {
  6.             return $n1 + $n2;
  7.            
  8.         }
  9.     }
  10.  
  11. ?>

Flash

In Flash legt man zuerst ein neues SWX-Objekt an:

Actionscript:
  1. // Create a new SWX object
  2. swx = new SWX();
  3. swx.gateway = "http://localhost:8888/php/swx.php";
  4. swx.encoding = "GET";

Der Aufruf des PHP-Service erfolgt z.B. über:

Actionscript:
  1. // Set call details.   
  2. var callDetails:Object =
  3. {
  4.     serviceClass: "Simple",
  5.     method: "addNumbers",
  6.     args: [n1.text, n2.text],
  7.     result: [this, resultHandler],
  8.     timeout: [this, timeoutHandler],
  9.     debug: true
  10. }
  11.  
  12. // Carry out SWX call.
  13. swx.call(callDetails);

Dem Download von SWX liegen einige Beispiel incl. Quellcodes bei.

SWX Screencast

Wer näheres über SWX erfahren möchte, sollte sich den folgenden Screencast anschauen. Er zeigt die Funktionsweise anhand des bereits zitierten Calculator-Beispiels.

SWX Download

Der Download von SWX ist sieben Megabyte groß. Benutzer des Mac OS X Betriebssystem können auch auf ein Bundle mit MAMP (Mac/Apache/MySQL/PHP) zurückgreifen, falls noch keine Entwicklungsumgebung auf dem Rechner installiert ist (130 MB).

Link: SWX Download (swxformat.org)