- Is idci/extra-step-bundle a Laravel package?
- No. It is a Symfony2 bundle that extends Symfony\Component\HttpKernel\Bundle\Bundle and is discovered through the Symfony kernel's bundle registry and a DependencyInjection extension. Laravel has no equivalent mechanism, since its package auto-discovery reads the extra.laravel key and service providers, neither of which a Symfony bundle exposes. Treat it as a Symfony-only dependency, not something you can drop into a Laravel app.
- Can I install idci/extra-step-bundle in a Laravel application with Composer?
- Realistically no. The package pulls a transitive graph pinned to symfony/* ^2.x, which hard-conflicts with the Symfony 6/7 constraints used by Laravel 9 and later, so Composer resolution typically fails before any code runs. Forcing the install with --ignore-platform-reqs is an operational liability and still leaves you without a bundle loader or kernel to execute it. The dependency is not viable outside a legacy Symfony 2.x skeleton.
- How do I install and register idci/extra-step-bundle in Symfony?
- You require it via Composer alongside its base dependency idci/step-bundle, register the bundle class in the kernel's bundle array, and enable the bundle's DependencyInjection extension in your configuration. From there you register steps as tagged services and wire them into the existing flow so the bundle can resolve which extra step to display. Note that this path targets Symfony 2.x, which reached end of life in November 2018.
- Which Laravel versions does idci/extra-step-bundle support?
- None. It declares no Laravel service provider, facade, config file, or extra.laravel auto-discovery entry, so no version of Laravel can load it. The declared platform constraints are PHP 5.x/7.0-era and Symfony ^2.x, which also conflicts with the framework versions modern Laravel requires. Any adoption in Laravel would be a rewrite of the integration layer, not an installation.
- What does idci/extra-step-bundle actually do?
- It lets you insert custom extra steps into an existing multi-step checkout or workflow without editing the original flow definition. The bundle provides configurable step registration, pluggable step handlers for per-step logic, container-based wiring, and extension points for controlling step ordering and display. A dynamic path resolver computes the next step at runtime from user input, with navigation and state transitions handled outside the controller.
- Is idci/extra-step-bundle still maintained?
- There is no meaningful maintenance signal. The project has zero stars and zero dependents, no advisory channel, no SLA, and no successor package, and the code is from the PHP 5.x/7.0 and Symfony 2.x era. Zero dependents on a Composer package essentially means nobody outside the originating consultancy has run it in production, so there is no community validation or downstream pressure to fix bugs. Forking it would be a commitment you own alone.
- What is a good Laravel alternative to idci/extra-step-bundle?
- Use the Symfony Workflow component standalone inside Laravel, or a maintained Laravel-native state machine or workflow package. Both preserve the capability — defined steps, transitions, and gated navigation — while dropping the end-of-life Symfony 2.x dependency and keeping your hiring and onboarding story intact. You rebuild the step registry and next-step resolver as plain application code, which is a small amount of work compared to maintaining a dead bundle.
- Can I reuse the step registry pattern from idci/extra-step-bundle in Laravel?
- Yes, and that design pattern is the real asset here rather than the code. Model a step registry as a container-tagged collection of step handlers, and implement a path resolver service that computes the next step from user input so controllers stay thin. In Laravel you swap the Symfony tag compiler for container bindings or a tagged binding convention, and the Symfony EventDispatcher for Laravel events. Some plain-PHP value objects can be reused; everything framework-specific should be rebuilt.
- Does idci/extra-step-bundle work with PHP 8?
- Not without rewriting it. The codebase relies on legacy syntax and tooling that PHP 8 removes or deprecates, such as each(), create_function, old DI loaders, and legacy PHPUnit constraints, so routine upgrades break it. There is also no confirmed test suite to catch regressions during a port. Any PHP 8 effort is a fork and modernization project, not a configuration change.
- How do I test a workflow with dynamically computed next steps?
- Keep the resolver pure and isolate it, so given a step and a set of user inputs you can assert exactly one next step in unit tests. Because runtime-computed paths are non-deterministic by construction, also test each branch as a separate scenario and keep the transition table in configuration rather than inside controllers. This makes flows reproducible during incident response, which is hard when navigation logic is spread across the bundle's services and routing.