Bin zurück aus den fernen Ländern und habe die Arbeit wieder aufgenommen (wenigstens um das Design meiner Flash-Seite konnte ich mich in letzer Zeit kümmern).

Für das Flash habe ich mich jetzt für das PureMVC-Framwork entschieden. Ich denke, dass das ein gute gute Wahl war, da es doch von vielen Flash-Agenturen eingesetzt wird und sehr gut dokumentiert ist. Wie der Name schon sagt, handelt es sich um ein MVC-Framwork, das anfangs speziell für AS 3 geschrieben wurde, aufgrund seiner Leistungsfähigkeit aber schnell in andere Sprachen wie PHP, AS 2, PERL usw. übersetzt wurde.

Mehr Informationen dazu, findet man unter http://puremvc.tv/ und http://puremvc.org.

Für das Klassenschreiben habe ich mich nun für Espresso entschieden. Espresso ist eine IDE für den Mac, die sich durch so genannte Sugars beliebig erweitern lässt. Ich bin bisher recht zufrieden. Mal sehen wie sich das Programm beim PHP schreiben anstellt.

Im Großen und Ganzen bin ich auch mit der theoretischen Produktion der TYPO3-Extension einen Schritt weiter. Wenn man die Extension, die ich vorhabe zu programmieren nämlich einmal von der anderen Seite sieht, d.h. losgelöst von der Aufgabe Flash-Module zu verwalten, so muss meine Extension (bald hat sie einen Namen, versprochen) eigentlich “nur” Werte aus der Datenbank von TYPO3 in eine vorgebene Datenstruktur (XML des Flash) mappen. Im Endeffekt genau das machen, was TemplaVoila für HTML macht.

Nun wäre es leicht gewesen, wenn TemplaVoila es einem ermöglich würde, Custom-Tags, wie sie in einer XML nun einmal vorkommen, zur HTML-Tagliste von TemplaVoila, hinzuzufügen, um dann das Mapping über Templa zu machen. Jedoch geht das, ohne Umschreiben der entsprechenden Klasse von TemplaVoila, nicht, da TemplaVoila hier keinen Hook anbietet (korrigiert mich, falls das falsch ist).

Also habe ich mir angesehen, wie TemplaVoila es überhaupt schafft, Template und Datenstruktur zu verbinden. Klar, über DS und TO. Jedoch ist mir hier etwas Komisches aufgefallen, woraus auch meine Frage resultiert.

Im TO speichert Templa folgendes in die Datenbank:

a:2:{s:11:"MappingInfo";a:1:{s:4:"ROOT";a:2:{s:6:"MAP_EL";s:13:"body[1]/INNER";s:2:"el";a:5:{s:10:"field_logo";a:1:{s:6:"MAP_EL";s:31:"div.wrapper[1] h1.logo[1]/INNER";}s:16:"field_navigation";a:1:{s:6:"MAP_EL";s:13:"ul#navigation";}s:18:"field_left_content";a:1:{s:6:"MAP_EL";s:22:"div#left_content/INNER";}s:19:"field_right_content";a:1:{s:6:"MAP_EL";s:23:"div#right_content/INNER";}s:12:"field_footer";a:1:{s:6:"MAP_EL";s:34:"div.wrapper[1] div.footer[1]/INNER";}}}}s:18:"MappingData_cached";a:2:{s:6:"cArray";a:11:{i:0;s:41:"
<div>
 <h1>";s:10:"field_logo";s:12:"My Test Site";i:2;s:7:"</h1>
 ";s:16:"field_navigation";s:187:"<ul id="navigation">
 <li><a href="fileadmin/templates/#">Home</a></li>
 <li><a href="fileadmin/templates/#">About</a></li>
 <li><a href="fileadmin/templates/#">Contact</a></li>
 </ul>";i:4;s:49:"
 <div>
 <div id="left_content">";s:18:"field_left_content";s:60:"
 <h2>Linke Spalte</h2>
 <p>Mit ein bißchen Text</p>
 ";i:6;s:33:"</div>
 <div id="right_content">";s:19:"field_right_content";s:70:"
 <h2>Die rechte Spalte</h2>
 <p>Auch mit ein bißchen Text</p>
 ";i:8;s:36:"</div>
 </div>
 <div>";s:12:"field_footer";s:32:"
 <p>Hier dann der Footer</p>
 ";i:10;s:14:"</div>
</div>
";}s:3:"sub";a:0:{}}}

Ich bin mir sicher diese Schreibweise mit a:2:{10: usw. schon einmal gesehen zu haben. Aber ich kann mich nicht mehr erinnern, was der genaue Sinn und Zweck dieser Schreibweise ist. Natürlich sind es Mapping-Informationen. Aber wo und wie werden diese verarbeitet. Ich glaube, in der localconf.php werden Informationen ebenfalls auf diese Weise gespeichert. Doch was genau passiert damit und wo werden sie aufgelöst. Falls das jemand weiß, wäre ich sehr dankbar für eine Erklärung oder einen Link o.ä.

Ansonsten: Wenn ich das Flash fertig gestellt habe, findet Ihr es natürlich hier auf dieser Seite.