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

Bootstrap Bundle Laravel Package

elnur/bootstrap-bundle

ElnurBootstrapBundle adds unobtrusive Bootstrap 3 support to Symfony forms, letting you choose default, horizontal, inline, or navbar layouts, set button contexts, use input group addons, convert labels to placeholders, and render flash messages.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • Despite the brief framing this as a "Laravel/PHP package," elnur/bootstrap-bundle is a Symfony bundle, not a Laravel package. The README's install path is AppKernel::registerBundles() and its extension points are Twig form themes and Symfony Form type extensions. There is no service provider, no config/bootstrap.php publish step, no Blade directives, and no facade.
  • For a Laravel application (any version, 5.x through 11.x), architecture fit is effectively zero. Symfony's Form component is not part of Laravel's default stack, and Laravel's Blade templating has no equivalent of Twig's form theme inheritance model that this bundle relies on.
  • For a Symfony 2.x/3.x application, the fit is reasonable but narrow: the bundle is a thin presentation-layer abstraction. It contributes Twig form theme templates plus small form-type extensions that add layout (form-level) and context (button-level) options. It deliberately does not ship Bootstrap CSS/JS — the README is explicit that asset installation is left to the consumer (Composer or Bower).
  • Because the bundle only emits CSS classes and markup structure, its blast radius is small. That is also its weakness: the total deliverable is roughly a handful of Twig templates and option normalizers, which a competent team could reproduce in a day.

Integration feasibility

  • Feasible only under a specific, narrow set of conditions: Symfony ≤2.8 (or early 3.x with deprecation tolerance), Twig 1.x, Bootstrap 3, and a team that wants opinionated-but-overridable form markup without hand-maintaining form themes.
  • The README's own code sample signals the version ceiling: $builder->add('submit', 'submit', array(...)) uses string form type names, which Symfony deprecated in 2.8 and removed in 3.0+ in favor of FQCNs. This is strong evidence the bundle targets Symfony 2.x and will not boot cleanly on Symfony 4/5/6/7.
  • Bootstrap 3 itself is end-of-life and jQuery-coupled. Bootstrap 4 renamed or removed the exact classes this bundle emits (.has-error → .invalid-feedback/.is-invalid, .help-block removed, .form-group semantics changed), and Bootstrap 5 dropped jQuery entirely. Even a successful integration today would be building on a dead frontend baseline.

Technical risk — rated high

  • Ecosystem mismatch risk: highest-severity item. If the consuming application is Laravel, this is not a "low-quality integration," it is the wrong ecosystem. Integrating would require pulling in Symfony Form + Twig alongside Blade, which is almost never justified.
  • Abandonment risk: version constraint ~0.1 indicates a pre-1.0 package with no stability promise. 10 stars and 0 dependents means no community validation, no downstream bug reports, and no expectation of upstream fixes.
  • Obsolescence risk: Bootstrap 3 EOL plus Symfony 2 EOL means every path forward requires a migration the bundle does not support.
  • Maturity signal: the "maturity: readme" score and 0.24 composite score are consistent with a personal utility bundle rather than a supported dependency.
  • Mitigating factor: MIT license plus a very small code surface means vendoring or forking is cheap. Risk is high, but recoverable.

Key questions to resolve before any commitment

  1. Which framework and major version is the actual target — Laravel or Symfony? (The package metadata and the request appear to disagree.)
  2. Which Bootstrap major version is required? If 4 or 5, this bundle is out of scope by definition.
  3. Is the requirement "Bootstrap-styled forms" or specifically "this bundle's layout option API"? If the former, native form themes or Blade components are cheaper.
  4. What is the PHP version floor, and does the bundle's implicit Symfony constraint conflict with our composer.json?
  5. Do we need upstream maintenance, or are we willing to own a fork? If we need support, this is disqualified.

Integration Approach

Stack fit

  • Laravel target: do not integrate. Recommend instead: (a) Blade components/partials for Bootstrap form controls, (b) a small set of Blade form templates with an equivalent layout concept, or (c) if Symfony Form semantics are genuinely required, use symfony/form standalone with a documented Twig bridge — but treat that as a separate architectural decision, not a package install.
  • Symfony 2.x target (if the metadata is wrong and this is a legacy Symfony estate): the bundle fits conventionally — Composer require, register in AppKernel, and optionally set the form theme globally in config.yml under twig.form.resources.

Migration path

  • The bundle is small enough that the correct migration is usually absorption, not adoption. Copy the Twig form theme templates into templates/form/bootstrap_3_layout.html.twig (or the Symfony-equivalent path) and port the button/layout option handling into a local form type extension. This eliminates a third-party dependency while preserving the exact markup contract.
  • If adoption is chosen, pin the version exactly (0.1.x, not ~0.1) and vendor-lock, since a pre-1.0 package can break on any minor release.

Compatibility

  • Hard constraints to verify empirically before sequencing work: Symfony framework-bundle version satisfied by the bundle's composer.json; Twig major version; presence of string-based form type usage in the templates/extensions.
  • Markup compatibility with Bootstrap 3 only. Document this explicitly if the wider product has already standardized on Bootstrap 4/5 — mixing versions across a UI is a maintenance trap.

Sequencing

  1. Disambiguate the target framework (blocking — everything downstream depends on it).
  2. Spike in a throwaway branch: install, register, render one representative form with layout: 'horizontal', diff the emitted markup against the design system.
  3. Decide adopt vs. absorb based on whether upstream changes are expected (they are not) and whether we can tolerate a Symfony 2 constraint.
  4. If absorb: extract templates + option handling into first-party code, delete the dependency, add a screenshot/visual regression test on one form.
  5. If adopt: pin exact version, add a composer.lock guard, and file a fork-ready note in the runbook.
  6. If Laravel: close as not-applicable and open a small in-house task for Bootstrap form components.

Operational Impact

Maintenance

  • Treat as unmaintained. Zero dependents and a 10-star footprint mean no upstream issue triage, no security response, and no compatibility patches. Whoever integrates it owns it permanently.
  • Small surface area keeps ongoing cost low — a few Twig templates and option resolvers — but it also means the "buy vs. build" calculus strongly favors build. Estimated ongoing maintenance for a fork is near-zero until a Symfony/Twig upgrade lands.

Support

  • Documentation is the README only; there is no changelog, no test suite referenced, no issue-tracker SLA. Internal support burden falls entirely on the integrating team.
  • MIT license permits forking and internal redistribution, which is the realistic support model.

Scaling

  • Runtime scaling impact is negligible: this is a compile-time Twig theme plus form option normalization. No database, no services, no I/O, no async work. It will not appear in a performance profile.
  • The scaling concern is organizational, not technical: every additional form in the codebase inherits the bundle's markup contract. A single Bootstrap major-version decision then becomes a codebase-wide find-and-replace rather than a theme swap.

Failure modes

  • Silent markup drift: a Bootstrap upgrade changes class semantics; the bundle keeps emitting Bootstrap 3 classes; forms render but look broken with no error. Highest-probability failure.
  • Boot failure on framework upgrade: Symfony 3+ rejects string form type names; bundle registration throws or the form type extension fails to load. Loud, but blocks upgrades.
  • Composer resolution conflict: the bundle's Symfony constraint pins framework-bundle to an old major, blocking unrelated dependency upgrades.
  • Form theme override collision: if the app already sets twig.form.resources, ordering matters and the bundle's override may silently win or lose depending on registration order.
  • Asset disconnect: because the bundle assumes you install Bootstrap yourself, a version mismatch between installed CSS and emitted markup produces confusing, hard-to-triage visual bugs.

Ramp-up

  • For a Symfony 2 developer already familiar with Twig form themes: minutes to productive, an hour to full comprehension of the layout and context options.
  • For a Laravel team: hours wasted before concluding the package is the wrong ecosystem. The README's Symfony-specific vocabulary (AppKernel, bundles, form themes) is the tell, and it is not signposted anywhere in the package description.
  • Onboarding documentation should be a single paragraph: "emits Bootstrap 3 form classes; requires Symfony 2 forms; if you want Bootstrap 4/5, do not use this."
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.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels