Workflow API¶
You can manage workflows with PHP API by using WorkflowServiceInterface
.
Workflow service¶
Workflow uses the Symfony Workflow Component, extended in the workflow service.
The service implements the following methods:
start
- places a content item in a workflowapply
- performs a transitioncan
- checks if a transition is possible
The methods apply
and can
are the same as in Symfony Workflow,
but the implementation in workflow service extends them, for example by providing messages.
Getting workflow information¶
To get information about a specific workflow for a content item, use WorkflowServiceInterface::loadWorkflowMetadataForContent
:
1 2 3 4 |
|
Tip
marking
, a term from Symfony Workflow,
refers to a state in a workflow.
To get a list of all workflows that can be used for a given content item, use WorkflowRegistry
:
1 |
|
Applying workflow transitions¶
To place a content item in a workflow, use WorkflowService::start
:
1 |
|
To apply a transition to a content item, use Workflow::apply
.
Additionally, you can check if the transition is possible for the given object using WorkflowService::can
:
1 2 3 4 |
|
Tip
Ibexa\Workflow\Value\WorkflowMetadata
object contains all
information about a workflow, such as ID, name, transitions and current stage.
Ibexa\Workflow\Value\WorkflowMetadata::$workflow
gives you direct
access to native Symfony Workflow object.