Tag Programmierung

Das Zeitgeist Framework 2

Mai20

Zeitgeist ist als Framework inzwischen so weit, dass es in ausgewählten Kreisen vorgestellt wird. Im Zuge dessen gebe ich vorab meistens eine kleine Präsentation, bevor es ans Eingemachte bzw. den Code geht. Diesen bekommt ihr zwar nicht, dafür aber schonmal die Folien.

Das Zeitgeist Nachrichtensystem 2

Nov23

Jetzt mal ernsthaft – ihr könnt euch ruhig trauen hier im Blog mit Hilfe der Kommentare zu fragen, anstatt mir umständlich eine Mail zu schreiben.

Die Frage war:

Was ist dieses angesprochene Message-System?

Nun, einfach gesagt: Die Message-Klasse stellt Funktionalitäten bereit, um systemweite Textnachrichten zu verwalten.

Das Prinzip der systemweiten Nachrichten sollte vielen bekannt sein, die schon einmal etwas tiefer in die  Dektop-Programmierung eingestiegen sind. Man kann es sich als eine Art Modul vorstellen, das von überall her angesprochen werden kann. An dieses Modul können Nachrichten übergeben und umgekehrt wieder angefordert werden. Auf diese Weise können alle Module eines Projekts miteinander kommunizieren.

Weiterlesen »

Der Zeitgeist Projektaufbau 0

Nov10

Da die Entwicklung der Unit Tests schneller voran geht, als gedacht, habe ich etwas Zeit euch etwas mehr über Zeitgeist zu erzählen.

Ein Projekt mit Zeitgeist ist so aufgebaut:

  • _additional_material: alles, was nicht direkt zum Projekt gehört, aber mit im SVN ist (Konzept, Schemata, etc)
  • classes: Projektspezifische Klassen
  • configuration: Projektspezifische Konfiguration
  • forms: Formularbeschreibungen für den Formularhandler von Zeitgeist
  • includes: Klassen und Module von Dritten
  • modules: Alle Module, die von dem Eventhandler angesprochen werden. In MVC wären das die Models
  • templates: alles, was mit dem Presentation Layer zu tun hat. In MVC die Views
  • tests: Alle Unit Tests landen hier
  • zeitgeist: Das Framework. In MVC hätte es die Controller-Aufgaben

Und um noch einen Blick auf Zeitgeist an sich zu werfen:

Zunächst wären da unter classes alle Core-Klassen von Zeitgeist. Diese werden unabhängig von dem Projekt immer geladen (auch wenn sich die Funktionalität deaktivieren lässt).

  • configuration: Kümmert sich darum, die Konfigurationen eines Projekts zu laden und zu verwalten
  • database: Simple Datenbank-Abstraktionsklasse
  • debug: Debugging, Tracing, Profiling und SQL-Querylogs
  • errorhandler: PHP-Fehlerausgabe (Errors, Warnings)
  • eventhandler: Der Handler, die die Module der Applikation steuert
  • locale: Verwaltet Sprachpakete
  • messagecache/messages: Verwaltet Systemnachrichten
  • objectcache: Verwaltet Objekte. Eine Art Multi-Purpose-Cache
  • parameterhandler: Programmierbarer Eingabefilter
  • session: Verwaltet die Session eines Nutzers
  • template: Simple Template-Engine, basierend auf Dreamweaver Templates
  • trafficlogger: Speichert alle Aufrufe und Zustände
  • userhandler: Kümmert sich (mit den anderen Userklassen) um die Nutzerverwaltung.

In configuration wird Zeitgeist grundsätzlich konfiguriert. Da die Konfiguration in der Applikation selbst überschrieben werden kann, liegt hier nur ein Default-Set.

In includes liegen wieder alle Klassen und Module von Dritten.

In modules liegen alle zusätzlich einbindbaren Module von Zeitgeist: Formularhandler, Payment, Shop, Dispatcher und so weiter. Und schließlich noch die Unit-Tests.

So, das war’s in Kürze. Das sollte als Teaser reichen und vielleicht als Vorlage für einige Fragen dienen.

Zeitalter3 – Browsergames Entwicklerblog is powered by WordPress
Theme based on FREEmium Theme, developed by Dariusz Siedlecki by FreebiesDock.com