Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Form Bridge Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy on form-heavy surfaces. The bridge lets a Laravel codebase adopt the mature Symfony Form component — form type classes, data transformers, collections, the form event lifecycle — instead of hand-rolling form objects, hydration, and error handling in Blade. For roadmap items that are CRUD- or form-dense (admin/back-office tooling, entity create/edit screens, multi-step wizards, configuration panels, line-item editors), this is a credible "adopt" answer that keeps the team inside Laravel conventions for validation, sessions, CSRF, and Eloquent binding.
  • Scope discipline: don't build form scaffolding. Adopting the bridge is a decision to not invest engineering time in a bespoke form abstraction layer. It supports saying "no" to a multi-sprint internal forms framework and redirecting that capacity to product-differentiating work. The tradeoff is a learning curve (Symfony Form's type/builder/event model) rather than an upfront build cost.
  • Platform currency as a cheap roadmap checkpoint. v0.7.5 (2026-02-27) ships Laravel 13.x compatibility and a PHP 8.5 CI lane. That is a direct input to upgrade planning: this dependency is unlikely to be the blocker on the next major Laravel migration. Treat "does the dependency support the framework major we're targeting?" as a recurring low-cost checkpoint, not a project.
  • Maintenance budgeting. The release payload is entirely maintenance — CI workflow updates, a PHP 8.5 test job, a duplicated test-only return-type change, and upstream Laravel 13 support from 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.
  • Upgrade gating item for extensibility-heavy codebases. The 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.
  • Ecosystem signal for risk-tiering. 160 stars and effectively zero dependent packages means you are an early, near-solo adopter. That's fine for internal tooling; it argues against making this a load-bearing dependency in a customer-facing critical path without an internal owner and an exit plan.
  • Migration leverage for Symfony-origin teams. If the roadmap includes porting or converging a Symfony application, form type classes largely carry over. That changes the cost model of a consolidation effort from "rewrite forms" to "rebind the container and reconcile templating" — a scoping insight that belongs in roadmap conversations early.

When to Consider This Package

Consider adopting when:

  • The product already runs Laravel and has a meaningful volume of complex, structured forms — nested collections, conditional field groups, entity-backed create/edit forms, multi-step flows — where FormRequest + Blade components is becoming repetitive, inconsistent, or a source of render/validation drift.
  • The team has, or will invest in, familiarity with Symfony Form concepts (form types, builders, data transformers, form events). The abstraction pays for itself only when used idiomatically; otherwise it becomes an opaque layer that slows everyone down.
  • You want one declarative form definition reusable across create, edit, and detail views, with Laravel validation and Eloquent model binding preserved — the core "single source of truth per form" win.
  • You are planning a Laravel major upgrade and want dependencies with recent framework support. v0.7.5 explicitly targets Laravel 13.x and is tested on PHP 8.5.
  • Your risk tolerance accepts a pre-1.0 version (0.7.x). The effective stability signal here is the maintainer (Barry vd Heuvel) and the cadence of compatibility releases — both strong — not SemVer.
  • You're porting from a Symfony application and want form type classes to largely carry over.

Look elsewhere when:

  • Forms are simple — a handful of fields per screen. Laravel's FormRequest plus Blade components is lighter, has no new abstraction to learn, and has no additional dependency to track.
  • The front end is Livewire, Inertia, or API-first. Server-rendered form definitions are not the primary rendering path, and the bridge's value proposition weakens substantially.
  • You need LTS commitments, a published deprecation policy, or vendor SLA. This is a single-maintainer community package with no such guarantees.
  • You expect to subclass or deeply extend package internals. The v0.7.5 return-type change is the template for how even a maintenance release can touch inheritance contracts; heavy extension raises upgrade friction.
  • Blade form themes are non-negotiable. Symfony's form theming does not map cleanly onto Blade, and this package does not solve that for you — budget for building your own rendering convention.
  • A first-party or framework-native solution already covers the need and the team values a smaller dependency graph over reusing Symfony's abstractions.

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.

How to Pitch It (Stakeholders)

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox