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