Maßgeblich ist das Zustand-Übergang-Modell für die Qualifikation einer Route
Wie bereits an einer anderen Stelle festgestellt, bleibt die Klassenbindung erhalten auch dann wenn der Request Parameter enthält. Es können sich jedoch Verzweigungen ergeben, welche über eine Parameter-Kontrollstruktur geregelt sind. Maßgeblich hierzu ist der Aufruf der Interface-Methode control() immer dann, wenn im Request Parameter gesendet wurden.
Für die Darstellung dieser Seite ist z.B. der Parameter show=20 zuständig. Ist dieser Parameter im Request, wird die Methode control() aufgerufen und im entsprechenden Zweig erfolgt dann die Prüfung:
elsif(my $shownr = $self->param('show')){
my $hunt = $self->{DAL}->checkout($shownr) ||
return $self->errmsg('Eintrag nicht vorhanden', $self->{URL});
$self->eav('title', $self->ents($hunt->{title}));
$self->eav('descr', $self->ents($hunt->{descr}));
$self->{STASH}{descr} = $self->ents($hunt->{descr});
$self->{STASH}{zbody_orig} = $hunt->{body};
$self->{STASH}{show} = 1;
$self->eav('parent', $self->{URL});
}
elsif( $self->param('xml')){
my @entities = $self->{DAL}->count;
my %h = ();
foreach my $e (@entities){
$h{"$self->{URL}?show=$e"} = 1;
}
$self->sitemap(\%h);
}
else{
return $self->errmsg('Unbekannter Parameter', $self->{URL});
}
Zum Ausliefern der Seite wird der textliche Inhalt in einen dafür vorgesehenen Platzhalter ins Template gesetzt. Andere Parameter wiederum regeln das Speichern oder den Einbau eines Formulars zum Bearbeiten von Inhalten.
So ergibt sich mit dem Parameter xml=1 wiederum ein anderer Zustand derart, dass nicht HTML sondern XML ausgeliefert wird.
Datenschutzerklärung: Diese Seite dient rein privaten Zwecken. Auf den für diese Domäne installierten Seiten werden grundsätzlich keine personenbezogenen Daten erhoben. Das Loggen der Zugriffe mit Ihrer Remote Adresse erfolgt beim Provider soweit das technisch erforderlich ist. sos@rolfrost.de.