Thread Trennung von Layout und Inhalt?
(4 answers)
Opened by umbrella at 2009-09-02 00:09
Erstmal ein Hallo an alle. Bin ganz Neu hier. :)
Wollte Euch mal um Rat bitten. Und zwar hätte ich gerne gewusst welche der folgenden Methoden die bessere Wahl ist? Ich verwende für die Trennung von Layout und Inhalt, eigentlich immer das gleiche, Unterprogramm. Meine Frage an Euch hierzu ist, gibt es an meinen Subroutinen etwas auszusetzen – oder ist es die bessere Wahl für die Webprogrammierung das HTML::Template::Compiled zu nutzen? Hier mal zwei Möglichkeiten wie ich das bisher mache: //Test Script 1 per, DO ... Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #!/usr/bin/perl -T use strict; use warnings; use diagnostics; use CGI::Carp qw(fatalsToBrowser); use CGI qw(:standard); use Fcntl; use lib '/var/www/cgi-bin/newtest'; do "database.pl"; my %html; my $vorlage = "test.tmpl"; $html{'print'} = 'Das ist ein test!'; print &html_ausgeben($vorlage, \%html); exit; //Test Script 2 per, USE ... Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #!/usr/bin/perl -T use strict; use warnings; use diagnostics; use CGI::Carp qw(fatalsToBrowser); use CGI qw(:standard); use Fcntl; use lib '/var/www/cgi-bin/newtest'; use database; my %html; my $vorlage = "test.tmpl"; $html{'print'} = 'Das ist ein test!'; print &html_ausgeben($vorlage, \%html); exit; Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #wird mit DO eingebunden sub html_ausgeben { my $cgi = CGI->new; my ($vorlage, $htmlref) = @_; my @vorlage = &lade_datei($vorlage); my $html = $cgi->header; foreach my $zeile (@vorlage) { $zeile =~ s/<-html_([a-z0-9]+)->/$htmlref->{$1}/gix; $html .= $zeile; } return $html; } sub lade_datei { my $datei = shift; sysopen(VORLAGE, $datei, O_RDONLY) or die("$!"); my @vorlage = <VORLAGE>; close(VORLAGE) or die("$!"); return @vorlage; } 1; Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #Wird mit USE eingebunden package database; use strict; use Fcntl; our (@ISA, @EXPORT, $VERSION); use Exporter; $VERSION = 1.00; @ISA = ("Exporter"); @EXPORT = qw(html_ausgeben); sub html_ausgeben { my $cgi = CGI->new; my ($vorlage, $htmlref) = @_; my @vorlage = &lade_datei($vorlage); my $html = $cgi->header; foreach my $zeile (@vorlage) { $zeile =~ s/<-html_([a-z0-9]+)->/$htmlref->{$1}/gix; $html .= $zeile; } return $html; } sub lade_datei { my $datei = shift; sysopen(VORLAGE, $datei, O_RDONLY) or die("$!"); my @vorlage = <VORLAGE>; close(VORLAGE) or die("$!"); return @vorlage; } 1; LG, -umbrella Wer sich stets zu viel geschont hat, der kränkelt zuletzt an seiner vielen Schonung. Gelobt sei, was hart macht!
|