barryvdh/laravel-form-bridge
Laravel Form Bridge provides a compatibility layer for Laravel 4-style Form and HTML helpers in Laravel 5+, letting legacy Blade templates and form code keep working through the Laravel Collective HTML package. Useful when upgrading older Laravel apps without rewriting every form.
laravel-shift. No new features, no deprecations, no API additions. The correct PM read is healthy but low-velocity stewardship: budget near-zero engineering time for this bump, and expect nothing from it in terms of closing product capability gaps.getSubscribedEvents(): array return type is technically breaking for anyone subclassing the event subscriber without the return type. For typical consumers it's a no-op; make it a named line item in the upgrade checklist only if you're extending rather than using the package as shipped.Consider adopting when:
FormRequest + Blade components is becoming repetitive, inconsistent, or a source of render/validation drift.0.7.x). The effective stability signal here is the maintainer (Barry vd Heuvel) and the cadence of compatibility releases — both strong — not SemVer.Look elsewhere when:
FormRequest plus Blade components is lighter, has no new abstraction to learn, and has no additional dependency to track.Sequencing recommendation: gate adoption on one real spike — a nested collection with a data transformer, end-to-end, in a branch. Roll out to a single bounded internal surface (an admin form) before any customer-facing flow. Pin ~0.7.5 rather than floating on ^0.7, and keep usage at the outer edges (form types, transformers, Blade rendering) rather than custom subscribers or provider overrides. Name an internal owner and decide up front who watches the transitive symfony/form major in the lockfile.
For executives: This is a small, actively maintained open-source bridge that lets our Laravel application reuse Symfony's proven form engine rather than paying engineers to build form handling, validation wiring, and rendering from scratch. The case is straightforward reuse economics: proven components, near-zero ongoing maintenance, and no incremental investment required this cycle. The latest release (v0.7.5) is a maintenance release — no new features, no deprecations — whose headline is compatibility with the next major Laravel version (13.x) plus testing on PHP 8.5. Practically, that removes a potential upgrade blocker from the platform roadmap at no cost. The main risk is that it is a single-maintainer dependency with a small ecosystem footprint (160 stars, no dependent packages), which we mitigate by keeping our usage at the outer edges — form definitions and rendering, not deep customization — so a fork or swap remains a day of work rather than a quarter, and by naming an internal owner if we ever put it in a customer-facing path. Cost is one spike to validate fit; upside is avoiding a bespoke forms framework on the roadmap.
For engineering: Safe to adopt — install, bump, ship. v0.7.5 is CI workflow updates, a PHP 8.5 test lane, Laravel 13.x support from laravel-shift, and a getSubscribedEvents(): array return type declaration. That return type is the only thing to check: grep for any subclass or override of getSubscribedEvents and add : array in the same PR, or the class fails to load. Nothing else in the integration surface changes. Pin the version (~0.7.5, not ^0.7), verify the resolved symfony/form major stays pinned in the lockfile, and be aware there is no SemVer stability guarantee at 0.7.x. The genuine cost is ramp-up, not runtime: Symfony Form's type/builder/event model has a real learning curve, and Blade theming is on us. Validate feasibility with one non-trivial form — a nested collection with a data transformer — before committing to a broader rollout, and establish a Blade-partial-per-form-type convention early so the pattern isn't reinvented per feature.
How can I help you explore Laravel packages today?