Kopieren oder Selbst machen

Die Webseite, an der ich arbeite, besteht im Kern aus einer Vielzahl von Formularen und den durch sie befüllten Datenbanktabellen. Der Anwender wird in erster Linie Eingabeformulare, Listen von Suchergebnissen, oder aber Detailansichten von Datensätzen zu Gesicht bekommen. Viele dieser Formulare und Listenansichten ähneln sich sehr,, es liegt also nahe, die Formulare nicht von Hand in HTML zu schreiben, sondern sie generieren zu lassen, und hierzu ein vollautomatisches System wie Dadabik heranzuziehen, oder aber eine der hunderte bestehenden PHP-Klassen, die diese Aufgaben beherrschen, zu verwenden.

Die Benutzung von Dadabik war leider nicht möglich, da das Tool aus dem Stand nur Tabellen darstellen kann, nicht dagegen Formulare für Abfragen, die Daten aus mehreren Tabellen ziehen. Zudem dupliziert Dadabik sämtliche in der Datenbank vorhandenen Tabellen, was zu erheblichem Überhang an Daten führt und – so vermute ich – auch nicht wirklich performant ist.

Bei den PHP-Klassen ist mit ihrer Anzahl schon eines der beiden größten Probleme benannt: Welche wählen, wie feststellen, welche der bestehenden Klassen die Arbeit leistet, die ich von ihr erwarte? Dokumentation gehört zu den unbeliebtesten Aufgaben jedes Programmierers und ist in der Mehrheit der Fälle schlicht nicht verfügbar, sieht man von einigen mürrischen Zeilen im Programmcode selbst ab.

Die zweite Problematik ist die der Einbettung – selbst wenn sich eine halbwegs dokumentierte PHP-Klasse fände, die meinen Wünschen entspricht, wie viel Arbeit wird notwendig sein, sie in das bestehende Gerüst der Seite einzubetten? Ich werde den Verdacht nicht los, dass der kulmulierte Aufwand für Recherche nach und Anpassung von PHP Klassen in meinem Fall den Aufwand übersteigt, die entsprechenden Funktionen schlechter, aufwändiger und komplizierter selbst zu programmieren.

was natürlich der gesamten Idee der Script-Seiten zuwiederläuft, oder aber zumindest der Idee, seine Arbeit der Öffentlichkeit zur Verfügung zu stellen. Sicherlich enthalten Seiten wie hotscripts oder php-resource nützliche Schnipsel, von denen ich bei anderen Projekten schon sehr profitiert habe. Aber für dieses Problem habe ich bisher einfach keine Lösung auftreiben können. Was ich bräuchte wäre eine Klasse die

  • sicher zu einer Datenbank verbindet.
  • Aus einem Konfigurations-File oder Konfigurationsdaten in der Datenbank ein Formular generiert.
  • Daten aus der Datenbank in ein Formular zulädt und/ oder Daten aus einem Formular in die Datenbank schreibt.
  • Die Datenbank-Interaktion auf SQL-Injection und andere Sicherheitslücken prüft.
  • Zuläßt, dass die automatisch generierten Formulare per CSS gelayoutet werden.

Sollte doch so schwer nicht sein.