Actions

Das Forum soll der Ablage von Lösungen für immer wieder auftauchende Problemstellungen dienen. // This forum contains solutions to problems that frequently occur.
Antworten
Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Actions

Beitrag von Megger » 02.06.2009, 19:30:11

Hi

Ich wollte nun mit verschiedenen Actions arbeiten. Eine Action gehört zu meiner Navigation und speichert im NavigationsModel den aktuellen Wert der Ebene ab auf der ich mich befinde.

Eine andere Action gehört zur Application und soll dann im eigenen Input den Wert aus dem NavigationModel abfragen und der Action zur Verfügung stellen.
Allerdings musste ich feststellen, dass die Inputs vor allen Actions ausgeführt werden und ich somit nicht darauf zugreifen konnte.

Meine Frage ist nun, ist es normal, dass die Inputs vor allen Actions ausgeführt werden oder sollte nicht immer jeder Input zur jeweiligen Actions ausgeführt werden?

Außerdem bringt mir das postpagecreate nichts, da ich zu dem Zeitpunkt ja schon nicht mehr meine TemplateModels manipulieren kann.

Gruß
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Re: Actions

Beitrag von dr.e. » 02.06.2009, 19:37:20

Hi Megger,

Meine Frage ist nun, ist es normal, dass die Inputs vor allen Actions ausgeführt werden oder sollte nicht immer jeder Input zur jeweiligen Actions ausgeführt werden?

Ja, das ist normal. Das Input-Objekt wird beim Registrieren der Action beim Front-Controller angelegt. Das passiert zum Zeitpunkt der Ausführung der URL-Filter (siehe http://adventure-php-framework.org/Seite/087-Filter#2-3-Frontcontroller-Standard-URLs). Das erzeugen der Input-Objekte und Actions wird deshalb zum Zeitpunkt der Filterung ausgeführt werden, damit das Url-Layout transparent für den Front-Controller bleibt. Die Registrierung von eigenen, "permanenten" Actions in der index.php passiert auf ein und dieselbe Weise.

Außerdem bringt mir das postpagecreate nichts, da ich zu dem Zeitpunkt ja schon nicht mehr meine TemplateModels manipulieren kann.

Richtig. Sofern du bereits den Aufbau des DOM-Baumes beeinflussen möchtest, muss die Action im Modus "prepagecreate" ausgeführt werden, damit die Informationen im Model bereits zum Zeitpunkt der Erstellung des relevanten DOM-Knotens zur Verfügung stehen. Möchtest du lediglich die Ausgabe manipulieren, reicht auch ein "postpagecreate" oder "pretransform" (siehe http://adventure-php-framework.org/Seite/012-Frontcontroller#2-5-Timing-Modell).

Erstellst du dein Model als SINGLETON oder SESSIONSINGLETON (siehe http://adventure-php-framework.org/Seite/033-Konfiguration#3-Serviceobjekte) kann dieses ohne Probleme in allen Timing-Abschnitten verwendet werden kann.
Viele Grüße,
Christian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast