Action

Das \Alvine\Application\Workflow\Action-Interface definiert eine Aktion.

Einzelne Aktionen werden zu Schritte zusammengefasst.

Klassen die dieses Interface implementieren müssen die Methode Action::run(\Alvine\Application\Workflow\Container $container) implementieren.

Eine Standard-Implementierung ist die Closure-Klasse. Diese kann folgendermassen eingesetzt werden:

$action = new \Alvine\Application\Workflow\Action\Closure(function($container) {
    //Container wieder zurück geben
    return $container;
});

Fehler, die während einer Aktion auftreten, sollten eine \Alvine\Application\Workflow\Action\ActionException werfen.

Wird der Workflow über einen XML-Parser erstellt, so muss die Action in der XML folgendermassen definiert werden:

<action class="\MyNamespace\MyAction" />