Adventure,PHP,Framework,PageController,FrontController,Pattern,Objektorientierung,OO,Software,Design,Wiederverwendbarkeit,UML,Tutorial,Benchmark,ausgezeichnete Performance

Suche:    
Downloads  |  SVN!  |  Roadmap  |  Forum!  |  Bugtracking  |  Gästebuch  |  Backlinks!  |  Referenzen!  |  Sitemap  |  Impressum  
 
Deutsch | English Adventure PHP Framework  Bookmark @ Technorati Bookmark @ del.icio.us Bookmark @ Mr. Wong Bookmark @ Simpy Bookmark @ Google Bookmark @ Digg.com Adventure PHP Framework Seite 009_einfuehrung drucken!

Einführung

Artikel bewerten:
Dieser Artikel wurde noch nicht bewertet. Bewerten Sie diesen Artikel als erstes!

1. Entstehung des Frameworks

Zu Beginn meiner "Web-Karriere" beschäftigte ich mich zunächst mit statischen HTML-Seiten. Webseiten wie drweb.de und selfhtml.org waren gute Einstiegs- Hilfen. Nach einer Eingewähnungsphase wurden bereits einige größere Seite in statischem HTML umgesetzt. Dabei konnten die Grenzen von statischen Seiten sehr schnell ausgelotet werden. Allein das Ändern des Menüs auf 50 Seiten war ohne Automatismen nicht mehr sinnvoll machbar. Damit war der Weg zur dynamischen Webseiten-Entwicklung geebnet.

Noch während der Schulzeit versuchte ich mich an einfachen Skripten, die einfache dynamische Elemente, wie Menüs, einbinden. Nach und nach wurden immer mehr Funktionen in Form weiterer Skripten hinzugefügt. Diese waren alle für sich lauffähig, jedoch nicht ineinander integrierbar. Mit der Zeit entstand bei der Entwicklung der Wunsch, nicht mit jedem weiteren Skript gleiche oder ähnliche Funktionen nochmal implementieren zu müssen. Es begann also die Zeit des Refactoring und der Auslagerung gemeinsam genutzter Funktionen in eine Funktions-Bibliothek (global_functions.php).

Funktionen alleine waren jedoch nach einer gewissen Zeit ebenso nicht mehr gut genug. Der Wunsch nach wiederverwendbaren Modulen war groß. So wurden Modul-Beschreibungen und Konfigurations-Mechanismen beschrieben, die einem Modul eine definiert Form gaben. Nachteil war jedoch, dass diese im Quellcode verändert werden mussten um in einem zweiten Projekt eingebunden werden zu können. Daraus war die Idee der Trennung von Funktion und Design geboren, die durch Erweiterung der Konfigurations- Mechanismen und der Einführung einer Template-Klasse umgesetzt wurde. Um dieses Modell herum entwickelte ich lange Zeit Webseiten und Web-Applikationen, bis ich auch mit diesem Konzept an die Grenzen des machbaren stieß. Es konnten zwar generische Module implementiert und verwendet werden, jedoch nicht so granular, dass ein Modul ein einem weiteren Modul Verwendung finden konnte.

Daraus entwickelte sich gegen Ende des Studiums - und als Grundlage der Diplomarbeit - ein eigenes GUI-DOM-Modell, mit dem es möglich ist, beliebige Module in beliebige Seiten einzubauen. In diesem Weiterentwicklungs-Schritt legte ich viel Wert auf die Implementierung zahlreicher Pattern um Standard- Lösungen zu schaffen. In der PageController V1 Implementierung wurden Templates nach definierten Tags geparst und die definierten Tags wurden mit in PHP abgefasster Funktions-Logik versehen. Des Weiteren konnte mit diesem Modell nach MVC entwickelt werden, die Trennung von GUI, Geschäfts- Logik und Datenhaltung wurde ebenso berücksichtig. Die PageController-Implementierung stieß jedoch mit der größer werdenden Anzahl an GUI-Modulen an die Grenzen, da die verfügbaren Tags begrenzt und nicht frei im XML-Code konfigurierbar waren.

Das heute eingesetzte Konzept des PageControllers V2 basiert auf einem genersischen XML-Parser, der aus einem vorgegebenen Template diejenigen Tags zu einem Objektbaum parst, die er kennt. Die Anzahl der bekannten Tags kann generisch durch TagLibs erweitert werden. So ist das Framework eine echte Basis für Entwicklungen. In der aktuellen Version sind zudem ReImplementierungen von Tools für Konfiguration, Benchmarking, Fehlerbehandlung und Loging inkludiert. Des Weiteren wurden alle Core-Klassen, Tool-Klassen und Module einem Review unterzogen und diese komplette dokumentiert.

Auf diesem Framework basieren heute zahlreiche Internetseiten mit diversen Datenbanken und Funktionen, sowie Backend-Tools zur Webseiten-Verwaltung.


2. Zweck der Dokumentations-Seite

Das über lange Jahre entwickelte Framework bietet eine solide Basis für effiziente Software- Entwicklung für Web-Applikationen und ich verbinde damit viel Erfahrung, die ich mit diesen Seiten weitergeben möchte. Die Seiten beinhalten zum einen die Dokumentation des Adventure-PHP-Frameworks, zum anderen Tutorials zum objektorientierten Software-Entwurf. Die Seite versteht sich demnach sowohl als Referenz als auch Tutorium.


Kommentare

Möchten Sie den Artikel eine Anmerkung hinzufügen, oder haben Sie ergänzende Hinweise? Dann können Sie diese hier einfügen. Die bereits verfassten Anmerkungen und Kommentare finden Sie in der untenstehenden Liste.


Für diesen Artikel liegen aktuell keine Kommentare vor.


Powered by WebRing.