March 28, 2026tutorialyaml

Exporting Production-Ready YAML with SymFlowBuilder

YAML Export Conventions

SymFlowBuilder generates YAML that follows Symfony's conventions exactly:

Tilde Nulls

Empty places use ~ (YAML null), not null:

places:
    draft: ~
    submitted: ~

Flow Arrays

Arrays use bracket syntax:

supports: [App\Entity\Order]
initial_marking: [draft]
from: [content_approved, spelling_approved]

Scalar vs Array

When there is only one value, it is a plain string:

initial_marking: draft
from: draft
to: submitted

Places Format

When no places have metadata, places is a simple array:

places: [draft, submitted, approved]

When any place has metadata, all places use the object format:

places:
    draft: ~
    review:
        metadata:
            description: Human review
    closed:
        metadata:
            bg_color: DeepSkyBlue

Styling Metadata

SymFlowBuilder supports Symfony's workflow dump styling metadata:

  • bg_color — background color for places
  • description — text description shown in dumps
  • color — label color for transitions
  • arrow_color — connector line color for transitions

These are exported as standard metadata and work with workflow:dump --with-metadata.

Version Support

The exporter supports Symfony 5.4, 6.4, 7.4, and 8.0. Select your target version in the toolbar before exporting.