我目前正在使用symfony / flex和symfony / workflow组件v4.2,但是我很难实现with symfony 4.1的实现,更具体地说是工作流配置中的元数据选项。
我的workflow.yaml:
framework:
workflows:
secondment:
type: workflow
audit_trail:
enabled: true
marking_store:
type: 'single_state'
arguments:
- state
supports:
- AppBundle\Entity\Contract
initial_place: !php/const:AppBundle\Entity\Contract::STATE_PROPOSAL
places:
- !php/const:AppBundle\Entity\Contract::STATE_PROPOSAL
- !php/const:AppBundle\Entity\Contract::STATE_VALIDATED
- !php/const:AppBundle\Entity\Contract::STATE_REFUSED
- !php/const:AppBundle\Entity\Contract::STATE_CANCELLED
- !php/const:AppBundle\Entity\Contract::STATE_COUNTER_OFFER
transitions:
make_counter_offer:
from: !php/const:AppBundle\Entity\Contract::STATE_PROPOSAL
to: !php/const:AppBundle\Entity\Contract::STATE_COUNTER_OFFER
validate_counter_offer:
from: !php/const:AppBundle\Entity\Contract::STATE_COUNTER_OFFER
to: !php/const:AppBundle\Entity\Contract::STATE_VALIDATED
validate:
from: !php/const:AppBundle\Entity\Contract::STATE_PROPOSAL
to: !php/const:AppBundle\Entity\Contract::STATE_VALIDATED
refuse:
from: !php/const:AppBundle\Entity\Contract::STATE_PROPOSAL
to: !php/const:AppBundle\Entity\Contract::STATE_REFUSED
cancel:
from: !php/const:AppBundle\Entity\Contract::STATE_VALIDATED
to: !php/const:AppBundle\Entity\Contract::STATE_CANCELLED
metadata:
requirements: 'cancellation_reason'
这是我的composer.json的一部分:
"symfony/framework-bundle": "^3.4",
"symfony/skeleton": "^3.4",
"symfony/workflow": "^4.2",
我收到这个错误:
InvalidConfigurationException:
Unrecognized option "metadata" under "framework.workflows.workflows.secondment.transitions.cancel"
所以我的问题是:工作流组件4.1中的改进是否仅适用于symfony 4.1及更高版本?或者,因为指定组件的版本4.2是兼容的3.4,它应该也可以工作吗?
非常感谢提前!
您还必须在secondment:
配置下使用元数据:
framework:
workflows:
secondment:
type: workflow
audit_trail:
enabled: true
marking_store:
type: 'single_state'
arguments:
- state
supports:
- AppBundle\Entity\Contract
metadata:
- requirements: 'cancellation_reason'