- What is phpmentors/workflower-bundle used for?
- It is a Symfony bundle that integrates the Workflower BPMN 2.0 workflow engine into PHP applications, letting you define business processes, manage transitions and tokens, and wire workflow events into Symfony services and dependency injection. It is not a full BPM platform: there is no modeler, task UI, or operational console. It fits Symfony applications already committed to Workflower semantics.
- Does phpmentors/workflower-bundle work with Laravel?
- No. It is a Symfony bundle, not a Laravel package, and it depends on Symfony's service container, configuration, dependency injection, and security abstractions. Laravel developers should use Laravel-native workflow options or evaluate Symfony Workflow separately rather than treating this as a drop-in Laravel dependency.
- Which Symfony versions does phpmentors/workflower-bundle support?
- Version 1.4.0 removes one hard blocker by replacing RoleHierarchyVoter with AccessDecisionManagerInterface, which widens targets to Symfony 4.x-era applications. However, the release does not establish tested support for Symfony 5.4, 6, or 7, PHP 8, modern container service definitions, event-dispatcher signatures, or current Doctrine versions. Pin PHP and Symfony versions explicitly and validate on your exact runtime.
- Is phpmentors/workflower-bundle compatible with Symfony 5.4 or Symfony 6?
- Not reliably. The only compatibility-relevant change in 1.4.0 delegates authorization to AccessDecisionManagerInterface, which is itself the legacy authorization abstraction; modern Symfony favors AuthorizationCheckerInterface and #[IsGranted]. A fork or compatibility layer is likely needed for Symfony 5.4+ or greenfield stacks.
- How do I install phpmentors/workflower-bundle?
- Install it with Composer, but first verify the package requirements against your PHP, Symfony, and Doctrine versions. The README excerpt is empty in the provided context, so consult the repository for the exact Composer command, bundle registration, and configuration. Do not adopt 1.3.x on Symfony 4+ because RoleHierarchyVoter is unavailable there.
- What changed in phpmentors/workflower-bundle 1.4.0?
- It rewrites the Security Participant to use AccessDecisionManagerInterface instead of the removed RoleHierarchyVoter. This is shipped as a minor version bump but changes authorization semantics: RoleHierarchyVoter resolved role inheritance directly, while the decision manager runs the full voter chain with an aggregate strategy. Effective permissions can change for applications relying on role hierarchy, so review it as a behavioral break.
- Does phpmentors/workflower-bundle preserve role hierarchy inheritance?
- The provided context does not confirm that it does. Delegating to AccessDecisionManagerInterface runs the full voter chain, so role-hierarchy inheritance may need to be expressed as explicit voters or custom voters rather than relying on the old voter. Test permission outcomes before upgrading, especially if your application depends on inherited roles.
- Is phpmentors/workflower-bundle maintained and safe for production?
- Technical risk is high: 1.4.0 appears to be a single external contribution, with no evidence of a maintained release cadence, roadmap, security policy, or deprecation policy. The security-sensitive authorization change was delivered as a minor bump without a CVE or changelog beyond a PR reference. Treat it as a dependency your team can own, and budget for a maintained fork.
- What are alternatives to phpmentors/workflower-bundle?
- For state machines, Symfony Workflow is the natural maintained alternative in Symfony applications. For long-running or distributed orchestration, consider a maintained orchestration platform. If you genuinely need workflow-net semantics, compare Workflower's token, place, and transition model against Symfony Workflow before adopting this bundle.
- How should I integrate phpmentors/workflower-bundle safely?
- Wrap Workflower behind an application-owned adapter interface and keep workflow definitions, engine types, persistence, authorization checks, and event wiring out of controllers and domain services. Put authorization behind an application-owned port so the 1.4.0 security-participant change does not re-litigate permissions. Define an exit path to Symfony Workflow or an external orchestrator before production adoption.