Startseite
Herzlich Willkommen auf der Webseite des Adventure-PHP-Frameworks. Hier finden Sie
Dokumentation des Frameworks, Beispiele, Tutorials zum objektorientierten Software-Entwurf, Beispiel-
Applikationen und natürlich die Quellcodes des Frameworks. Es empfiehlt sich die Dokumentation
in der aufgeführten Reihenfolge zu lesen. Das Framework steht unter LGPL v3 und kann frei
verwendet und weiterentwickelt werden. Änderungen und Erweiterungen sollten jedoch an die
Community zurückgegeben werden, damit alle Nutzer davon profitieren können.
Version 1.9 (stable) veröffentlicht!

Ab heute ist die Version 1.9 (stable) verfügbar. Die für Produktivumgebungen
freigegebene Version beinhaltet:
Usermanagement:
Das Modul usermanagement wurde mit dem Release 1.9-RC1 einer Überarbeitung
unterzogen. Das bedeutet:
- Einfachere Einbindung in bestehende Applikationen via TagLibs.
- Zentrale Business-Komponente als Schnittstelle des Moduls.
-
Erweiterte
Dokumentation
mit vielen Beispielen.
-
Direkte Nutzung der Datenbank über den
GenericORMapper.
Damit kann das Modul als allgemeingültiges und mandantenfähiges
Benutzermanagement für diverse Applikationene eingesetzt werden.
Filter!
In der Version 1.9 wurde die Implementierung der Filter komplett überarbeitet. Die Vorteile
liegen auf der Hand:
-
Einfachere Konfiguration der
Input- und Output-Filter über die
Registry.
-
Transparente Anpassung von Filtern auf
eigene Bedürfnisse
ohne Änderung von bestehenden Applikationen.
-
Erstellung von beliebigen URL-Layouts mölich (z.B. für die Entwicklung eines CMS).
-
Formular-Filter
für die zusätzliche Absicherung von Benutzer-Eingaben.
Remake bewährter Komponenten:
Im Zuge der Weiterentwicklung wurden einige Komponenten überarbeitet und erweitert um den
gewachsenen Ansprüchen zu genügen. Diese sind:
-
ImageManager: Überarbeitung und Konsolidierung der API und Vereinfachung
der Nutzung.
-
Pager: Refactoring der Funktionalität, damit dieser mit dem
GenericORMapper
genutzt werden kann. Zur Performance-Optimierung wurde Session-Caching der Ergebnisse für
bereits geladene Seiten eingeführt.
Global error and exception handling!
Die Fehlerbehandlung des Frameworks wurde flexibler gestaltet. Das bedeutet:
-
Die Komponente, die zur Behandlung von Fehlern eingesetzt wird, bei Bedarf über die
Registry
selbst definiert
werden kann.
-
Das PHP 5 Release beinhaltet nun eine eigene
globale Exceptionbehandlung
ähnlich der im Framework enthaltenen globalen Fehlerbehandlung.
Damit ist es nun auf sehr einfache Weise möglich, global Fehler und nicht abgefangene Exceptions
gemäß den Anforderungen der Applikation zu verarbeiten. Das Framework stellt dabei zwei
allgemeingültige Komponenten zur Verfügung, die bei Bedarf erweitert werden können.
Cleanup!
In diesem Release wurden - wie in den release notes angekündigt - einige veraltete Komponenten
entfernt. Das sind:
- filesystemHandler
- abstractCacheManager
- cacheV4Manager
- objectCacheManager
- statCacheManager
- bbCodeParser
Der Artikel
Migration von 1.8 auf 1.9
beinhaltet Hilfestellungen zur Migration auf die neu im Framework integrierten Klassen.
Feedback zum Release Candidate:
Das stable Release beinhaltet Bugfixes des baseControllers, die aus dem Feedback des
Release Candidate stammen und Optimierungen zweier Bild-Auslieferungs-Actions. Daneben wurde die
Dokumentation überarbeitet und ein neue Code-Highlighting eingeführt.
-
Die Methoden __getForm(), __templatePlaceholderExists(),
__placeholderExists(), __getTemplate() und
setPlaceHolder() erzeugen nun in der PHP5-Version keinen Fehler mehr beim
Zugriff auf benachbarte Objekte im APF-DOM-Baum.
-
Die Action StreamMediaAction aus dem Namespace tools::media::actions
und ShowImageAction aus dem Namespace modules::socialbookmark::biz::actions
senden nun erweiterte Header bei der Auslieferung der Bilder, so dass diese vom Browser
zwischengespeichert werden können.
Details zu den einzelnen Themenbereichen können dem ausführlichen Changelog auf der
Download-Seite
entnommen werden. Hier finden Sie zudem entsprechende Hinweise auf Diskussionen im Forum.
Download now!
Fehler des Releases bitte im Forum unter
http://forum.adventure-php-fra...um.php?f=8
reporten, Anregungen und Feature-Wünsche können unter
http://forum.adventure-php-fra...um.php?f=5 diskutiert
werden. Alle Release-Pakete finden sich unter
Downloads.
Performance-Check: Yii vs. APF (and CakePHP)

Der Artikel Yii vs. APF empfindet den RPS Performance Test aus
http://www.yiiframework.com/performance nach und vergleicht die
Test-Kandidaten CakePHP, Yii-Framework und Adventure PHP Framework. Ergebnis: der Yii-Test ist
bestanden!
Den ausführlichen Artikel mit dem Testaufbau und der Interpretation der Ergebnisse gibt es
hier.
Why APF?

Sie denken: "Das APF ist nur ein weiteres Framework"? Auf
dieser Seite finden Sie Gründe,
warum Sie das Adventure PHP Framework (APF) unbedingt einsetzen und sollten!
Kurz zusammengefasst: Das APF unterstützt Sie, enterprise-ready
Web-Applikationen und -Module zu entwickeln, die schnell, sicher und wiederverwendbar sind. Das
Framework bietet dabei sowohl erprobte Tools zur Entwicklung nach anerkannten Design-Pattern als
auch fertige Module, die bekannte Aufgabenstellungen allgemeingültig lösen.
Version 1.8 (stable) veröffentlicht!

Ab heute ist die Version 1.8 (stable) verfügbar. Die für Produktivumgebungen
freigegebene Version beinhaltet:
Neue Lizenz!
Um auch Enterprise-Nutzern die Möglichkeit zu bieten, das Framework für
Closed-Source- oder eigene Lizenz-Produkte einsetzen zu können, wurde das Framework mit
Veröffentlichung des Releases 1.8-RC1 unter die LGPL v3 gestellt.
Weitere Produktivitätstools:
Das Release beinhaltet zusätzliche Tools, die die Entwicklung erleichtern und die
Produktivität steigern. Hierzu zählen u.a.:
-
AdvancedLogger: für erweiterte Logging-Aufgaben.
-
<core:appendnode />: zur globalen Wiederverwendung von
Template-Fragmenten.
-
<*:mediastream />: Auslieferung von GUI-Elementen direkt aus dem Namespace der
Applikation (-> deutliche einfacheres Packaging!).
-
eZ-Style Templates: ermöglicht die Übersetzung von Templates
per eZ-style Tags und XML-Übersetzungsdateien.
Weitere Produktivitätstools sind im Kapitel
Spezielle TagLibs
aufgeführt.
Remake bewährter Komponenten:
Im Zuge des Refactorings wurden einige Komponenten überarbeitet um den gewachsenen
Ansprüchen zu genügen. Durch neue, generischere Konzepte ist nun nicht nur die
Verwendung, sondern auch die Erweiterung deutlich vereinfacht werden. Die Remakes im
Überblick:
-
FilesystemManager: Bereinigung der Abhängigkeiten und Review der
Methoden hinsichtlich der aktuellen Anforderungen.
-
AdvancedBBCodeParser: die Einführung der Provider-Logik (Facade- &
Composite-Pattern) verbessern Erweiterbarkeit und Konfigurierbarkeit deutlich. Die
wichtigsten Provider werden jedoch trotzdem mitgeliefert!
-
<html:template />: Durch das Refactoring ist die Erweiterung der
Funktionen per <template:addtaglib /> deutlich einfacher geworden.
-
CacheManager: auch beim Cache-Manager wurde mit Hilfe von Providern die
Verwendbarkeit und Anpassbarkeit erhöht. Zusätzlich dazu wurden neue Caching-Backends
wie memcache und database hinzugefügt.
Ease the daily work!
Das Adventure PHP Framework (APF) ist auf die Lösung von alltäglichen Problemen,
die Produktivität von Entwicklern und der Qualität von Webanwendungen ausgerichtet.
Die in diesem Release enthaltenen Verbesserungen unterstützen dies noch deutlicher:
- Verbessertes Debugging (Document::__loadContentFromFile())
- Bessere Benchmark-IDs
- Besserer Schutz vor SQL-Injections im MySQLHandler
- Globale Verfügbarkeit der aktuellen URL (Registry!)
Bugfixes:
Das neue Release enthält wichtige Bugfixes:
- init()-Methode des MySQLxHandler aktiviert nun den Debug-Mode sauber.
- Aufruf von MySQLHandler::escapeValue() baut sebständig Verbindung zur Datenbank auf.
- html_taglib_form::__createFormElement() initialisiert nun neue Formular-Elemente korrekt.
- Generierung der Captcha-Bild-URL funktioniert nun fehlerfrei.
Feedback zum Release Candidate:
Das stable Release beinhaltet Bugfixes des GenericORMappers, die aus dem Feedback des Release
Candidate stammen:
- Der GenericORMapper speichert geänderte Objekte nur noch, falls Attribute geändert sind.
- Die Methode __getAssociationsByObjectName() gibt nun nur noch relevante Assoziationen zurück.
Details zu den einzelnen Themenbereichen können dem ausführlichen Changelog auf der
Download-Seite
entnommen werden. Hier finden Sie zudem entsprechende Hinweise auf Diskussionen im Forum.
Download now!
Fehler des Releases bitte im Forum unter
http://forum.adventure-php-fra...um.php?f=8
reporten, Anregungen und Feature-Wünsche können unter
http://forum.adventure-php-fra...um.php?f=5 diskutiert
werden. Alle Release-Pakete finden sich unter
Downloads.
Version 1.7 (stable) veröffentlicht!

Ab heute ist die Version 1.7 (stable) verfügbar. Die für Produktivumgebungen
freigegebene Version beinhaltet:
-
"zero configuration":
Durch die Einführung einer Registry und eines neuen Initialisierungsprozesses
entfällt die aufwändige Konfiguration (INIT-Dateien) und die Anpassung der
Core-Parameter wird erheblich einfacher.
-
SPAM protection:
Mit Release 1.7-RC2 wurde das Modul captcha hinzugefügt. Das
Modul kommt bereits beim Gästebuch zum Einsatz und bietet dem Entwickler eine
CAPTCHA-TagLib, die einfach in bestehende Formulare eingebunden werden kann. Die
Dokumentation des neuen Moduls findet sich unter
CAPTCHA-Taglib.
-
Generischer OR-Mapper / Usermanagement:
Das Modul genericormapper ist eine OR-Mapper-Komponente, die es
ermöglicht, Objekte auf generische Weise in einer relationalen Datenbank abzulegen.
Die Dokumentation des im beta-Status befindlichen Moduls findet sich unter
Generischer OR-Mapper.
Das Modul usermanagement basiert auf dem generischen OR-Mapper und
implementiert ein allgemeingültiges Benutzer-, Gruppen- und Rollen-Management. Auch
diese Komponente befindet sich noch im beta-Stadium. Die Dokumentation zu diesem Modul
ist noch in Bearbeitung.
-
Verbesserte Formular-Funktionen:
Mit den neuen Methoden
- addFormContentBeforeMarker()
- addFormContentAfterMarker()
- addFormElementBeforeMarker()
- addFormElementAfterMarker()
ist es nun auf komfortable Weise möglich, dynamische Formulare zu erstellen, ohne
auf die bereits vorhandenen Form-TagLib-Funktionen verzichten zu müssen. Das Kapitel
Dynamische Formulare
zeigt die Möglichkeiten der neuen Funktion und beschreibt einen konkreten
Anwendungsfall.
-
Bugfixes und Erweiterungen:
Das Release beinhaltet um die 20 Bugfixes und Erweiterungen des Framework
Codes. Details können dem Changelog auf der
Download-Seite
entnommen werden.
Migrate now!
Die Migration auf Version 1.7 wird unter
Migration von Version 1.6 auf 1.7
Schritt für Schritt erklärt.
Download now!
Fehler des Releases bitte im Forum unter
http://forum.adventure-php-fra...um.php?f=8
reporten, Anregungen und Feature-Wünsche können unter
http://forum.adventure-php-fra...um.php?f=5 diskutiert
werden. Alle Release-Pakete finden sich unter
Downloads.
Neue Dokumentationswebseite in der ersten BETA-Version verfügbar!
|
Ab heute steht die neue Dokumentationsseite des Adventure PHP Frameworks als BETA-Version
unter
de.adventure-php-framework.org
bereit. Die Webseite beinhaltet folgende Neuerungen:
- Komplett neues Design
- Verbesserte Navigation
- Aktualisierte Dokumentation
- Verbesserte Übersicht über die Dokumentation und verfügbaren Tutorials
- Verbesserte Suche
- Hinweis der Woche mit kurzen Tipps zur Implementierung
- Übersicht über die aktuellen Foren-Posts und Kommentare
- Erweitertes Einfühungsmaterial
- Überarbeitete Literaturhinweise
Die Webseite beinhaltet bereits alle relevanten technischen Änderungen. Während der
nächsten 3 Wochen wird noch am Design und an den Inhalten geschraubt und gefeilt. Das
APF-Team freut sich natürlich über euer Feedback. Hierzu wurde bereits unter
http://forum.adventure-php-fra...p?f=1&t=57
ein dazu nutzbarer Foren-Thread eröffnet!
|
Neues Einsteiger-Tutorial "Minimales Modul"
Wie im Forum gewünscht wurde ein neues, forenbasiertes Einsteiger-Tutorial verfasst, das
zeigt, wie ein einfaches Modul für das Adventure PHP Framework erstellt werden kann. Es
beschreibt Schritt für Schritt wie aus einem leeren Template ein Taschenrechner
entsteht. Das Tutorial kann unter
http://forum.adventure-php-fra...ic.php?f=6&t=44
aufgerufen werden.
Version 1.6 (final) veröffentlicht!
|
Ab heute ist die Version 1.6 (final) verfügbar. Das Release beinhaltet
-
Neue Funktionen:
(connectionManager, SessionSingleton, SQLite-Treiber, ...)
-
Verbesserte Funktionen:
(serviceManager, TransformOnPlace-Feature bei html:template und
html:form, API-Erweiterung für die Forumlar-TagLibs, ...)
-
Bessere Performance:
(Optimierung der import()-Funktion, ...)
-
Erweiterte Dokumentation:
(Templates, Formulare, Tutorial "Erweiterung bestehender Funktionen", Artikel
"Hacking & das APF", ...)
-
Komplett überarbeitete API-Dokumentation
|
Download now!
Fehler des Releases bitte im Forum unter
http://forum.adventure-php-fra...um.php?f=8
reporten, Anregungen und Feature-Wünsche können unter
http://forum.adventure-php-fra...um.php?f=5 diskutiert
werden. Alle Release-Pakete finden sich unter
Downloads.
|
Erste Schritte mit dem Adventure PHP Framework!
Hacking & das Adventure-PHP-Framework?
Im Artikel Hacking & das Adventure-PHP-Framework
unter der Rubrik Literatur zieht Christian Achatz ein Resümee aus dem Betrieb der
letzten 3 Monate und zeigt auf, welche Sicherheitsfeatures das Framework für den Betrieb
einer Webseite oder einer Webapplikation bereits out-of-the-box mitbringt. Gerade in einer Zeit, in
der Exploits tausendfach verfügbar sind, gilt es ein wirksames Mittel bereit zu halten, das
Script-Kiddies keine Chance gibt.
AJAX und das Adventure-PHP-Framework!
Der Artikel
AJAX & the adventure php framework
(englisch) zeigt, wie AJAX-Anwendungen in die Software-Architekturen bestehender Module
eingefügt werden können, wie das Adventure-PHP-Framework dabei hilft und welche Probleme
bei der Implementierung auftreten können. Ein Review mit hilfreichen Hinweisen und offenen
Fragestellungen schließen den Artikel und laden zur Kommentierung ein.
Adventure-PHP-Framework Anwenderprojekte!
Auf der Seite Referenzen sind Projekte von
Anwendern aufgeführt. Ich würde mich freuen, wenn auch Sie Ihr Projekt melden
und einen kurzen Erfahrungsbericht abgeben. Nur so kann die Qualität der Dokumentation und
des Frameworks selbst verbessert und vereinfacht werden.
Was ist das Adventure-PHP-Framework?
Das Adventure-PHP-Framework versteht sich als Hilfsmittel zur Implementierung von objektorientierten,
generischen und wiederverwendbaren PHP-Web-Applikationen. Der Entwickler wird dabei unterstützt
Applikationen nach anerkannten OO-Design-Pattern zu implementieren und das Framework bietet bereits
eine Vielzahl von Lösungen für bekannte Problemstellungen.
Es versteht sich bewusst nicht als Applikation, die lediglich konfiguriert werden muss, sondern als
technische Basis und Design-Guide für den Entwurf von Anwendungen.
Was leistet das Adventure-PHP-Framework?
Ab heute (25.10.2007) steht der Artikel PHP Frameworks im Test
zur Verfügung. Dieser vergleicht die am Markt verfügbaren Parallelprodukte und gibt dem
Leser eine Übersicht der Leistungsmerkmalen im Hinblick auf die Entscheidung für ein
Produkt als langfristige Entwicklungsbasis. Der Artikel kann jedoch nicht nur als Vergleichswerk
sondern vielmehr auch als Ressource für die Verwendung einzelner Testkandidaten herangezogen
werden.
|