Schrift
[thread]3044[/thread]

Frage zu HTML::Template::Compiled: <%IF foo%><%IF bar%>bla<%/IF%><%/IF%> (Seite 2)

Leser: 1


<< |< 1 2 3 4 5 ... 11 >| >> 107 Einträge, 11 Seiten
steffenw
 2006-12-29 16:56
#28710 #28710
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Da ist noch etwas.
Wenn man bei HTML::Temlate zu viel param(...) übergab, dann beschwerte sich HTML::Template darüber, weil es nicht wußte, wo es die Parameter hinschieben sollte. Das ist jetzt nicht mehr drin. Eigentlich fehlte mir da schon die andere Richtung, daß zu viel <TMPL_VAR ...> auch nicht angemeckert wurde. Wenn das Template also etwas größer wird, wie halte ich Ordnung?
$SIG{USER} = sub {love 'Perl' or die};
esskar
 2006-12-29 17:38
#28711 #28711
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
huch.
das findest du ein feature?
oder verstehe ich dich nicht richtig?

was willst du genau?
steffenw
 2006-12-29 17:42
#28712 #28712
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
<bla>
<TMPL= foo>
<TMPL= bar>
here is no baz!
</bla>

Code: (dl )
1
2
3
4
5
$htc->param(
foo => $foo,
# missing bar here
baz => $baz,
);
$SIG{USER} = sub {love 'Perl' or die};
renee
 2006-12-29 17:42
#28713 #28713
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Es kann ein Feature sein (wenn man es während der Entwicklung einschalten und im Produktivsystem ausschalten kann).
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
steffenw
 2006-12-29 17:47
#28714 #28714
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
genau @renee so etwas wie <TMPL= _ ESCAPE=DEBUG> auch
$SIG{USER} = sub {love 'Perl' or die};
esskar
 2006-12-29 17:53
#28715 #28715
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
du meinst die_on_bad_params ? oder so
ist nicht drin, wird auch nie drin sein!
siehe dazu die POD
bloonix
 2006-12-29 18:09
#28716 #28716
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Also wenn es sich nur für Testphasen handelt... könnte ich für H:T
folgendes vorschlagen:

Code: (dl )
1
2
3
4
5
6
7
8
9
my @unset;

foreach my $p (keys %{$tmpl->{param_map}}) {
  push @unset, $p
     unless defined ${$tmpl->{param_map}->{$p}};
}

# nicht gesetzte Parameter
die Dumper(\@unset);


Aber für H:T:C wüßte ich da nichts. Hier geht auch wohl eher um H:T:C
als um H:T.\n\n

<!--EDIT|opi|1167408900-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
steffenw
 2006-12-29 18:30
#28717 #28717
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=esskar,29.12.2006, 16:53]du meinst die_on_bad_params ? oder so
ist nicht drin, wird auch nie drin sein!
siehe dazu die POD[/quote]
Ich hab's in der POD gerade gelesen.
Schade eigentlich, weil so ein wesentliches Hilfsmittel zur Fehlersuche fehlt, so etwas wie "strict" eben.
$SIG{USER} = sub {love 'Perl' or die};
pq
 2006-12-29 18:43
#28718 #28718
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
ich find die_on_bad_params sinnlos. denn mehr parameter uebergeben
als benutzt werden war fuer mich noch nie eine fehlerquelle.
umgekehrt - also im template auf einen undefinierten (oder nicht-exististierenden)
key zugreifen, koennte ich theoretisch abfangen.
ein einfaches abfragen auf undef koennte ich vielleicht sehr einfach mit
warnings.pm realisieren (z.zt. ist jedes template-kompilat mit
no warnings 'uninitialized' kompiliert). auf exists testen waere etwas
aufwaendiger.

ist auf der TODO-liste.\n\n

<!--EDIT|pq|1167410839-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
steffenw
 2006-12-29 21:51
#28719 #28719
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Daß ein undef genau so behandelt wird wie q{} ist ok. Das erwartet man im Allgemeinem von einem Template, daß es damit umgehen kann.

Wenn man mit param(...) weniger vorgibt, als man verwendet, dann ist das ein Fehler, der z.B. dann entsteht, wenn man ein Template neu aufsetzt. Anders herum passiert es, wenn man ein vorhandenes Template anpaßt. Das zusätzliche Parametrisieren ist zwar nicht wirklich ein Problem, jedoch leidet die Performance. Beides zusammen entsteht, wenn man sich verschreibt.

Ich weiß zwar nicht, wie Dein Template genau funktoniert. Der Einfachste Fall ist, wenn Parameter in einem Hash gehalten werden, daß man diesem eine Art Tie::StrictHash verpaßt und schon könnte man falsche keys erkennen/registrieren. Das Ein- und Ausschalten (tie oder nicht tie) ist einfach und abgeschaltet ist das Programm so, wie es immer war. Der andere Fall ist das Zählen der Zugriffe am Ende und das Filtern der mit 0 gezählten. Das würde ich auch auch mit in den tie reinpacken.

Um so etwas zu implementieren, würde ich mein Template (wenn ich eins geschrieben hätte) nicht so abwandeln, daß es im nicht-strict Modus Performanceverluste hätte. Denn sonst würde ich (steffenw) am Ende sagen: Das habe ich nicht gewollt.

Das mal so als Gedanken dazu.\n\n

<!--EDIT|steffenw|1167422384-->
$SIG{USER} = sub {love 'Perl' or die};
<< |< 1 2 3 4 5 ... 11 >| >> 107 Einträge, 11 Seiten



View all threads created 2006-12-15 15:33.