ycs77/laravel-wizard
ycs77/laravel-wizard provides a fluent API for building multi-step forms and wizards in Laravel. Define steps, validate each stage, control navigation, persist progress, and render Blade views while keeping flow logic clean, reusable, and testable.
Start by installing the package and publishing any config/views it exposes, then read the package README alongside config/wizard.php (or the package’s equivalent config) and the provided step/wizard classes. The first thing to identify is how a wizard is defined: step order, per-step validation, persistence, and the final redirect hook.
A practical first use case is an onboarding/signup flow: step 1 collects account details, step 2 collects profile/company data, step 3 reviews and confirms. Wire the wizard into a controller or Livewire component, persist draft state in the session/database as the package expects, and redirect to a dashboard on completion. In v4.5.0, the final redirect can now receive parameters, so use that from the start for contextual destinations such as a tenant dashboard, localized completion page, or return_to flow.
next/previous/complete APIs rather than manually tracking the current step in session. Let the package own step state and only validate/commit the current step.return_to or URL-like parameter, validate against allowed hosts/paths to avoid open-redirect issues. Prefer route names plus scalar IDs over arbitrary URLs.route:list, inspect the generated redirect URL, and assert redirects with parameters in feature tests. Log the final redirect target when diagnosing “wrong page after completion” bugs.How can I help you explore Laravel packages today?