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" />