hi dedlfix,
In meinem CMS ist Template eine Subklasse von CMS (CMS::Template) [...]
Warum das? Welche Eigenschaften hat denn ein CMS, die ein Template, also üblicherweise nur ein kleiner Teil vom CMS, übernehmen muss?
Entdecke die Vererbung ;)
Mein CMS ist die Klasse, über die das Response-Objekt erstellt wird. Bisher wird die Instanz über my $ro = CMS->new;
erstellt und hat alle Eigenschaften/Methoden, die zur Ausgabe einer Response benötigt werden.
Templates habe ich jedoch erst später eingeführt und bisher ist CMS::Template zwar eine Subklasse, die jedoch nicht als solche genutzt wird.
Die Vererbung, die ich demnächst einbaue, ermöglicht es, das Response-Objekt als my $ro = CMS::Template->new;
zu erstellen, ohne dass am bisherigen Code Änderungen notwendig sind.
In Class CMS::Template siehts dann so aus:
Die Referenz auf das Template ist entweder als Argument übergeben oder im Default der Body des Response-Objekts \$self->{body}
. Das zweite Argument ist auch entweder übergeben, oder im Default ist das $self->{STASH}
, das sog. Datenversteck.
Am Code kann ich, sofern das Response-Objekt über ein Template ausgegeben wird, dann einiges vereinfachen.
O'Hotti
Tippfehler in Kommentaren werden oft erst viel später bemerkt.