Professional Web Engineering.

Sie sind hier: StartseiteProdukteWebform.framework

Webform.framework

Überblick

WebForm.framework ist der Prototyp eines komponentenbasierten Framework zum schnellen Erstellen von PHP-Applikationen. Zum einen erlaubt es, Web-Applikationen zu schreiben ähnlich Desktop-Applikationen. Der zu schreibende Code erinnert dabei stark an Java Swing.
Zum anderen gibt es einen XML-Abstraktions-Layer, der es erlaubt die gesamte Oberfläche in XML zu deklarieren.
WebForm.framework richtet sich nach dem MVC-Paradigma. Alle Aktionen in einer WebForm.framework-Applikation werden von ActionListenern erledigt, die den Controller darstellen. Die deklarierte Oberfläche stellt die View bereit. In den meisten Applikationen - falls die vorhandenen, mittlerweile über 20 Komponenten reichen sollten - werden nur noch Model und Controller implementiert.

Derzeitiger Stand

Das Projekt sollte die Praktikabilität eines solchen Frameworks zeigen und wurde mittlerweile aufgegeben.

Die zum Download angebotene Version ist sehr buggy, nach dem kompletten Wechsel zu PHP5. Zum Ausprobieren, Code lesen und Herumspielen ist sie allerdings geeignet. Das Framework ist, wie oben erwähnt, nur ein Prototyp und sollte die Machbarkeit eines solchen Framework mit PHP zeigen.
Auf Wunsch kann auch die funktionierende PHP4 Version (eingeschränktere Funktionen) verwendet werden. Wenn alle ActionListener und ComponentListener außerhalb der WFM-Dateien deklariert sind, d.h. kein PHP-Code vorhanden ist, dann sind die Applikationen bzw. die WFM-Dateien der Applikationen portabel zwischen der PHP4 und der PHP5 Version.

Kleines Beispiel


Nach dem Klicken auf das "+" vor "Suchmaske" klappt eine Eingabe Maske aus.



Um das Formular zu erzeugen waren folgende Zeilen nötig:

      <wf:fieldset id="searchform" legend="Suche">
<wf:gridlayout rows="3" cols="1" vgap="3"
hgap="2">
<wf:pane>
<wf:templatelayout
template="SearchWinDates.tpl">
<wf:label>Anfangsdatum:</wf:label>
<wf:label>Enddatum:</wf:label>
<wf:calendar id="anfang"/>
<wf:label id="erroranfang"></wf:label>
<wf:calendar id="ende"/>
<wf:label id="errorende"></wf:label>
</wf:templatelayout>
</wf:pane>
<wf:pane>
<wf:gridlayout rows="2" cols="2">
<wf:label>Name:</wf:label>
<wf:textfield id="name" size="20"/>
<wf:label>Beschreibung:</wf:label>
<wf:textarea id="beschreibung"
rows="5" cols="20"/>
</wf:gridlayout>
</wf:pane>
<wf:button label="Suchen...">
</wf:button>
</wf:gridlayout>
</wf:fieldset>

Für das DataGrid waren es nur zwei Tags:

    <wf:peardbreader id="mydbreader" 
dsn="mysql://user:passwort@localhost/database"
statement="select * from xics_cmsDoc"
limit="30" orderby="name"/>
<wf:datagrid id="mydatagrid" width="500"
height="500" visible="true"
datasource="mydbreader" columns="100,right"
bigtable="false" titlestyle="color:black"
autolistener="true" idfield="1"
iefriendly="true">
</wf:datagrid>