Flexibles Flex Framework für furioses PHP

Einsatz und Integration von Adobe Flex in PHP-Projekte
Kommentare

Innerhalb der PHPFlex.mxml (Listing 5) finden Sie viele Ansätze, die in diesem Artikel beschrieben sind. Durch den Einsatz eines TabNavigator-Containers werden die beiden Views zur Darstellung der bisher

Innerhalb der PHPFlex.mxml (Listing 5) finden Sie viele Ansätze, die in diesem Artikel beschrieben sind. Durch den Einsatz eines TabNavigator-Containers werden die beiden Views zur Darstellung der bisher in der Datenbank befindlichen Nutzerdaten und des Eingabeformulars voneinander sauber getrennt und sind durch einfache Navigation erreichbar. Beide Views wurden in eigene Komponenten ausgelagert. Interessant sind die Schreibweisen und . Diese sagen aus, dass ich für beide Komponenten einen eigenen Namespace angelegt habe, der wiederum physikalisch in den Unterordner /components verweist. Hierdurch ist eine einfache Strukturierung von größeren Anwendungen möglich. Die Definition dieses Namespaces erfolgt im Application-Tag durch:

xmlns:components="components.*"

Dieses Prinzip entspricht dem der Packages in AS3. In der richtigen Formulierung existiert daher ein Package components. Zwei Klassen in diesem Package sind UserList und EntryForm.

Abruf der Daten über die request.php

Der im Beispiel definierte HTTPService-Tag mit dem Instanznamen userRequest verweist auf die request.php, die ihrerseits POST-URL-Parameter entgegennimmt. Entweder bereitet sie dann eine XML-Struktur auf oder nimmt die Parameter username und emailaddress über einen -Tag entgegen, um sie in der Datenbank als Datensatz einzufügen. Der erste Abruf der Daten erfolgt beim creationComplete-Event in mit dem Aufruf der send()-Methode auf der HTTPService-Instanz.

Die Daten werden in der XML-Struktur aus Listing 6 durch PHP aufbereitet und von Flex nach dem Empfang in Objekte und ArrayCollections transferiert.

Auch hier nutzen wir wieder Events, um auf eintreffende Daten zu reagieren. Am HTTPService wird über das Result-Event eine Methode aufgerufen, die das Event übernimmt und innerhalb diesem die users ArrayCollection in die im -Tag als [Bindable] deklarierte Variable users castet:

users = e.result.users.user as ArrayCollection;

Als Hilfe habe ich die Komponente im Beispiel nicht entfernt. Sie informiert Sie beim Debuggen über Struktur und Format von eingehenden und ausgehenden Daten in der Konsole des Flex Builders.

EntryForm und UserList-Komponenten

Schöner Artikel?

Hat Ihnen der Artikel gefallen? Dies und mehr ist alles Teil der Ausgabe 2.08 unseres PHP Magazins. Alle zwei Monate frisch am Kiosk! Zur jeweils aktuellen Ausgabe geht es hier.

Beide Komponenten dienen der Kapselung von UI-Elementen und -Funktionen. Die EntryForm.mxml übernimmt hierbei den Part des Formulars, die UserList-Komponente enthält nur die Darstellung der Daten in einem DataGrid. Beide Komponenten weisen aber zwei sehr wichtige Prinzipien von erweiterten Komponenten auf:

Das erste findet sich in der UserList-Komponente (Listing 7). Über einen so genannten [Bindable]-MetaData-Tag kann eine neue Komponente erweiterte Eigenschaften besitzen, die wiederum in diesem Fall durch public von außen einsehbar sind, aber auch mit neuen Inhalten vom Typ ArrayCollection gesetzt werden können. In unserem Beispiel setzen wir die Eigenschaft users vom Typ ArrayCollection gleich dem Ergebnis aus unserem HTTPService-Aufruf aus der Hauptanwendung. Flex Builder übernimmt im Code Hinting automatisch alle neuen Variablendefinitionen in Komponenten.

Schauen wir uns die EntryForm.mxml (Listing 8) an, so sehen wir einen -Tag. Dieser wird genutzt, um in eigenen Komponenten neue Events in MXML-Form zu definieren und nach Typ wie auch nach Namen des Events zu beschreiben. Diese Schreibweise sichert zusätzlich erneut die Aufnahme ins Code Hinting, und für Entwickler sind beim Einsatz beider Komponenten neue Eigenschaften sichtbar.

Das Kapseln von UI und Funktionen in Komponenten ist ebenso auch der erste Ansatz für das Arbeiten in größeren Teams, die unterschiedliche Elemente einer Anwendung separat entwickeln und dann in Form einer Komponente allen weiteren Entwicklern zur Verfügung stellen.

Fazit

Natürlich kann dieser Artikel nur einen Einstieg in die Entwicklung mit dem Flex-Framework und PHP geben. Wer Interesse hat, bekommt mit der aktuellen Version von Flex Builder (Version 3.0) auch gleich noch das komplette AIR SDK inklusive Compiler dazu. AIR ist eine plattformunabhängige Laufzeitumgebung für die Webtechnologien Flex und Flash, aber ebenso auch HTML und PDF bzw. die Kombination aus diesen. Beispiele wie hier in diesem Artikel lassen sich über AIR innerhalb von Minuten als Desktopanwendungen auf Windows, Mac OS X und demnächst auch Linux installieren. Mehr dazu in einem nächsten Artikel.

Startpunkt für weitere Beispiele zu unterschiedlichsten Einsatzgebieten bieten auch flex.orh und natürlich die Adobe Developer Connection.

src=“http://entwickler.com/develop/zonen/magazine/onlineartikel/pspic/picture_file/43/Autor492e873b96ee9.jpg“ hspace=“5″ vspace=“5″ alt=““> Sven Claar arbeitet als Adobe Flex und AIR Consultant und -Entwickler seit dem ersten Release von Adobe Flex im Jahre 2003/2004 von Macromedia. Mit mehr als acht Jahren Erfahrung in der Erstellung von reichhaltigen Benutzeroberflächen basierend auf Technologien von Adobe, (Flex 1.0/1.5/2.0/3.0, LiveCycle Data Services ES, LiveCycle ES, ColdFusion, Flash Media Server, Flash CS3, Flash Lite, AIR) teilt er sein Wissen mit Kunden und der Community und unterstützt diese bei der Entwicklung von ausdrucksstarken Anwendungen im Web und auf dem Desktop. Sven ist Manager der Flex Squad Central Europe & der MX|Usergroup Central Europe, schreibt Artikel für unterschiedliche Publikationen, hält Onlineseminare und Vorträge auf Konferenzen zum Einsatz von Flex und AIR in Unternehmensanwendungen und Web 2.0.

Blog: http://www.mxug.de/flex2, E-Mail: sclaar@flex-squad.com

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -