Die an einen URL gebundene Subklasse definiert das Template

Genauer gesagt, definiert die Subklasse den Speicherort für das Template

Wieder ​einmal ​ein ​Aspekt, ​der ​etwas ​mehr ​Praxis ​und ​Zweckmäßigkeit ​in ​die ​objektorientierte ​Programmierung ​bringt. ​Charakteristisch ​für ​mein ​Framework ​ist ​die ​Bindung ​eines ​URL ​an ​eine ​Subklasse. ​Bei ​einem ​Request ​wird ​über ​diese ​Subklasse ​eine ​Instanz ​erstellt ​anhand ​der ​in ​der ​Konfiguration ​für ​den ​Request-URL ​festgelegten ​Klasse.

Jede ​dieser ​Subklassen ​definiert ​eine ​Methode ​welche ​das ​Template ​für ​den ​Body ​beschafft. ​Ggf. ​wird ​hierzu ​das ​Attribut ​file= ​herangezogen, ​was ​den ​Namen ​für ​die ​Template-Datei ​konfiguriert. ​Das ​Template ​schließlich ​wird ​in ​einem ​Attribut ​{BODY} ​der ​Framework-Instanz ​abgelegt.

Diese ​Vorgehensweise ​stellt ​auch ​sicher, ​dass ​beispielsweise ​eine ​Volltextsuche ​in ​den ​Attributen ​title, ​descr, ​body ​erfolgen ​kann, ​auch ​dann, ​wenn ​der ​Body ​als ​Template ​nicht ​in ​der ​Konfiguration, ​also ​für ​einen ​wahlfreien ​Zugriff ​im ​Hauptspeicher ​vorhanden ​ist. ​Die ​Konfiguration ​hat ​jedoch ​das ​class= ​Attribute, ​so ​kann ​eine ​Instanz ​erstellt ​werden ​und ​damit ​wird ​ganz ​einfach ​nur ​diejenige ​Methode ​aufgerufen, ​die ​zur ​Beschaffung ​des ​Body ​zuständig ​ist.

Der ​Default-Speicherort ​für ​ein ​Template ​ist ​unterhalb ​des ​__DATA__ ​Token ​in ​einer ​Perl-Klasse. ​In ​meinem ​Framework ​heißen ​solche ​Klassen ​Kompaktklassen. ​Die ​Klasse ​Login ​ist ​z.B. ​eine ​Kompaktklasse, ​so ​liegt ​in ​dieser ​Klasse ​das ​Formular ​zum ​Einloggen ​sauber ​getrennt ​vom ​Code ​in ​derselben ​.pm ​Datei.


Anbieter: nmq​rstx-18­@yahoo.de, die Seite verwendet funktionsbedingt einen Session-Cookie und ist Bestandteil meines nach modernen Aspekten in Perl entwickelten Frameworks.