PHP-Framework: Symfony 3.2 bringt eine Komponente für Worfklows

Mit der als Petri-Netz gestalteten Komponente können Entwickler Arbeitsabläufe definieren und steuern. Außerdem bringt Symfony 3.2 zahlreiche Komfortfunktionen sowie erweiterte Konfigurationen für den Cache und die Firewall.

In Pocket speichern vorlesen Druckansicht
PHP-Framework: Symfony 3.2 bringt eine Komponente für Worfklows
Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

Pünktlich im Halbjahrestakt erscheint ein Jahr nach der letzten Hauptversion Symfony 3.2. Die größte Neuerung des in PHP verfassten Frameworks ist eine Workflow-Komponente, mit der Entwickler Arbeitsabläufe definieren können. Technisch gesehen ist sie als Petri-Netz realisiert. Workflows bestehen aus states beziehungsweise places und transistions. Letztere definieren Übergänge von einem Zustand in einen anderen.

Rudimentärer Workflow für das Erstellen, Korrigieren und Veröffentlichen eines Artikels

(Bild: Symfony)

Nach der in der Abbildung gezeigten Definition lässt sich beispielsweise folgender Arbeitsablauf zur Überprüfung eines Artikels einbinden:

use Symfony\Component\Workflow\Exception\LogicException;
public function reviewAction(Article $article)
{
// the try/catch is needed because this transition
//could already have been applied
try {
$this->get('workflow.article_publishing')
->apply($article, 'spellcheck');
} catch (LogicException $e) { // ... }
}

Zahlreiche Detailverbesserungen dienen der sogenannten Developer Experience. Unter anderem kennt die ProgressBar nun negative Schritte, wenn die Zahl der zu erledigenden Aufgaben wächst und damit der Fortschritt relativ sinkt. Entwickler können außerdem in der framework.ide-Konfiguration passende Dateien und Zeilennummern beim Aufruf der Entwicklungsumgebung PhpStrom definieren.

Neu ist eine eigene Klasse zum Konfigurieren der Firewall sowie deren Integration in den Profiler. Darüber hinaus gibt es erweiterte Caching-Optionen wie einen NullAdapter, der für Testzwecke jegliches Caching unterbindet. Außerdem hat das Team die Abhängigkeiten innerhalb des FramworkBundle offensichtlich drastisch reduziert.

Die vollständige Liste der Neuerungen findet sich in den Release Notes. Symfony steht quelloffen auf GitHub. Vom 1. bis 3. Dezember findet in Berlin die SymfonyCon statt, (rme)