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.
AlvineApplicationWebPresenterRedirect¶
Event | Name | Payload | Beschreibung |
---|---|---|---|
AlvineApplicationWeb PresenterEventRedirect | redirect.location | $uri | Wird vor Auslösen des Redirects aufgerufen. |
AlvineApplicationWebPresenterData¶
Event | Name | Payload | Beschreibung |
---|---|---|---|
AlvineApplicationWeb PresenterEventAdded | relation.write | $relation | Nach dem Schreiben einer neuen Relation |
AlvineApplicationWeb PresenterEventAdd | relation.write | $relation | Vor dem Schreiben einer neuen Relation |
AlvineApplicationWeb PresenterEventDeleted | relation.delete | $relation | Nach dem Löschen einer Relation |
AlvineApplicationWeb PresenterEventDelete | relation.delete | $relation | Vor dem Löschen einer Relation |
AlvineApplicationWebPresenterAdd¶
Event | Name | Payload | Beschreibung |
---|---|---|---|
AlvineApplicationWeb PresenterEventAdd | post | $object | Vor dem Hinzufügen eines neuen Objektes |
AlvineApplicationWeb PresenterEventAdded | post | $object | Nach dem Hinzufügen eines neuen Objektes |
AlvineApplicationWebPresenterObject¶
Event | Name | Payload | Beschreibung |
---|---|---|---|
AlvineApplicationWeb PresenterEventUpdated | put | $object | Nach dem Ändern eines Objektes |
AlvineApplicationWeb PresenterEventUpdate | put | $object | Vor dem Ändern eines Objektes |
AlvineApplicationWeb PresenterEventUpdated | patch | $patchedObject | Nach dem Ändern eines Datenwertes im Object (x-edit) |
AlvineApplicationWeb PresenterEventUpdate | patch | $patchedObject | Vor dem Ändern eines Datenwertes im Object (x-edit) |
AlvineApplicationWeb PresenterEventDeleted | delete | $object | Nach dem Löschen eines Objektes |
AlvineApplicationWeb PresenterEventDelete | delete | $object | Vor dem Löschen eines Objektes |