Michael Schröpl: CGI, SSI, und HTML::Template

Beitrag lesen

Hi myMojito,

ich realisieren meine Internet-Projekte immer mit Perl in Verbindung mit dem Modul HTML::Template.
Manchmal komme ich jedoch an Probleme, die ich mit den bisherigen Mitteln nicht lösen kann. Dies ist der Fall, wenn z.B. eine aktuelle Nachricht aus der Datenbank in jeder Seite des Projektes eingebunden werden soll. Bisher habe ich in jedem Template, und dem dazugehörigen Perl-Skript, die Daten ausgelesen und dargestellt. Diese Lösung finde ich jedoch etwas umständlich.

warum hast Du diese Funktion nicht in ein Modul ausgelagert, welches von all Deinen Skripten "use"d wird?

Deine objektorientiert klingende Modellierungsstruktur ist der richtige Weg - und Perl unterstützt die entsprechende Code-Organisation auch hinreichend gut.
Löse Dich vom Begriff des Skripts - denke in modularen Programmen. Verwende Deine eigenen Module exakt so, wie Du HTML::Template verwendest. Trenne Deine Anwendung in eine Datenzugriffsschicht (Module mit Ausrichtung auf hohe Wiederverwendbarkeit) und eine Visualisierungsschicht (CGI-Skripte, deutlich näher am konkreten Einsatzfall) - und Dein Problem verschwindet von alleine.

Bin für jeden Lösungsvorschlag dankbar.

Ich halte die Verwendung von SSI/CGI und den Start zusätzlicher Prozesse für heftig oversized.
Deine bisherige Struktur ist wesentlich performanter (zumal SSI ja nicht gerade der Renner im Apache-Stall ist - dazu kann es viel zuviel).

Viele Grüße
      Michael

--
T'Pol: I apologize if I acted inappropriately.
V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
(sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
 => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.