Zum Inhalt

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