Presenter¶
Presenter werden nach der Initalisierung der Anwendung direkt vom Router aufgerufen. Die Definition
der zu verwendenden Presenter wird in der Route im Tag route/presenter
definiert.
<route>
<presenter>MyPresenter</presenter>
</route>
Der Router ruft vom definierten Presenter eine Methode mit dem HTTP-Verb auf. Für GET-Requests wird Presenter::get()
für POST-Requests wird Presenter::post()
aufgerufen usw.
Objekt-Presenter¶
Objekt-Presenter die von der Klasse \Alvine\Application\Web\Presenter\Data\Object
abgeleitet sind müssen mit einem Modell
konfiguriert werden.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definition>
<routes>
<group>
<pattern>/my/route</pattern>
<route id="MYID">
<method>GET</method>
<presenter>MyPresenter</presenter>
<configuration>
<model>
<class>MyModel</class>
</model>
</configuration>
</route>
</group>
</routes>
</definition>
Events¶
Die Standard-Daten-Presenter senden jeweils nach erfolgreicher Schreiboperation (add, update, delete, patch und relation) einen Event.
Die Events die von den Standard-Daten-Presentern gesendet werden, sind in folgender Tabelle zusammengetragen.
\Alvine\Application\Web\Presenter\Redirect¶
Event | Name | Payload | Beschreibung |
---|---|---|---|
\Alvine\Application\Web Presenter\Event\Redirect | redirect.location | $uri | Wird vor Auslösen des Redirects aufgerufen. |
\Alvine\Application\Web\Presenter\Data¶
Event | Name | Payload | Beschreibung |
---|---|---|---|
\Alvine\Application\Web Presenter\Event\Added | relation.write | $relation | Nach dem Schreiben einer neuen Relation |
\Alvine\Application\Web Presenter\Event\Add | relation.write | $relation | Vor dem Schreiben einer neuen Relation |
\Alvine\Application\Web Presenter\Event\Deleted | relation.delete | $relation | Nach dem Löschen einer Relation |
\Alvine\Application\Web Presenter\Event\Delete | relation.delete | $relation | Vor dem Löschen einer Relation |
\Alvine\Application\Web\Presenter\Add¶
Event | Name | Payload | Beschreibung |
---|---|---|---|
\Alvine\Application\Web Presenter\Event\Add | post | $object | Vor dem Hinzufügen eines neuen Objektes |
\Alvine\Application\Web Presenter\Event\Added | post | $object | Nach dem Hinzufügen eines neuen Objektes |
\Alvine\Application\Web\Presenter\Object¶
Event | Name | Payload | Beschreibung |
---|---|---|---|
\Alvine\Application\Web Presenter\Event\Updated | put | $object | Nach dem Ändern eines Objektes |
\Alvine\Application\Web Presenter\Event\Update | put | $object | Vor dem Ändern eines Objektes |
\Alvine\Application\Web Presenter\Event\Updated | patch | $patchedObject | Nach dem Ändern eines Datenwertes im Object (x-edit) |
\Alvine\Application\Web Presenter\Event\Update | patch | $patchedObject | Vor dem Ändern eines Datenwertes im Object (x-edit) |
\Alvine\Application\Web Presenter\Event\Deleted | delete | $object | Nach dem Löschen eines Objektes |
\Alvine\Application\Web Presenter\Event\Delete | delete | $object | Vor dem Löschen eines Objektes |