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

Browscap Bundle Laravel Package

jbi/browscap-bundle

Symfony bundle integrating the browscap/browscap-php library to detect browser capabilities from user-agent strings. Adds service configuration and caching for fast, accurate browser, platform, and crawler detection in Symfony applications.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

This package is a thin Symfony2 service-container wrapper around the browscap PHP library, which parses User-Agent strings into structured capability data (browser name/version, platform, device type, crawler/bot flag). The product decisions it would inform:

  • Feature gating and graceful degradation — serving fallback markup, polyfills, or "unsupported browser" notices to specific browser/version cohorts instead of shipping one lowest-common-denominator experience.
  • Bot and crawler policy — distinguishing search crawlers from scrapers to drive decisions on rate limiting, paywall/SEO treatment, analytics exclusion, and ad-serving.
  • Segmentation and pricing tiers — routing mobile vs. desktop vs. tablet traffic into different funnels, checkout flows, or plan upsells.
  • Support and QA prioritization — sizing the browser matrix from real traffic share rather than anecdote, which feeds test-coverage investment.
  • Build vs. buy on detection — UA parsing is commodity infrastructure; the decision is whether to own regex maintenance (no) or consume a maintained dataset (yes). Browscap's value is its continuously updated data file, not the code.
  • Roadmap posture on client-side detection — whether to keep investing in server-side sniffing at all versus feature detection (Modernizr-style) and Client Hints, which is where the industry moved.

Caveat that overrides all of the above: this specific bundle is archived, has 3 stars, zero dependents, and targets Symfony2 (end-of-life since 2018). Any decision here is really a decision about the underlying browscap-php library or a modern equivalent — not this package.

When to Consider This Package

Adopt this package: effectively never. Archived, unmaintained, Symfony2-only, no downstream dependents, no security response path. Installing it means pinning a dead framework generation and an unpatched dependency tree. There is no scenario where this is the right call for new work.

When the underlying capability is still worth evaluating:

  • You have a concrete, measured need — e.g., >2% of traffic hitting a known-broken browser path, or meaningful crawler volume distorting analytics or infrastructure cost.
  • You need offline / no-third-party-call UA resolution for privacy or latency reasons (no SaaS detection vendor).
  • You're already standardized on PHP and want a library, not a service.

When to look elsewhere:

  • Any Symfony 4/5/6/7 or Laravel codebase — this bundle does not apply. Use browscap-php directly behind your own thin service, or better, a maintained alternative such as Matomo's device-detector, which has active releases and broader modern coverage.
  • UA strings aren't enough — they are client-controlled and spoofable. If the decision is security-, fraud-, or entitlement-sensitive, do not gate on UA. Layer in Client Hints, IP/ASN data, and behavioral signals.
  • Per-request latency and memory matter — full Browscap data files are large (tens of MB) and need caching/warm-up strategy. If you can't amortize that, don't put it on the hot path.
  • You can solve it client-side — navigator.userAgentData, feature detection, and CSS @supports handle most presentation decisions without server-side sniffing at all.

Migration note if already installed: the bundle contributes almost nothing beyond DI wiring. Replace it with a direct browscap-php dependency (or a modern parser) behind a UserAgentResolver interface so the implementation stays swappable and the detection layer isn't a permanent liability.

How to Pitch It (Stakeholders)

To executives: We evaluated a PHP package for browser/device detection and recommend against adoption. It is archived, targets a framework generation we no longer run, has no active user base, and would introduce an unpatched dependency into our stack — a compliance and security exposure with no offsetting benefit. If we need device/browser awareness, it's a small, bounded investment in a maintained library or a low-cost detection service, and we should frame it as infrastructure hygiene rather than a feature bet. Recommend we decline and, if the need is real, scope a two-week spike against a maintained alternative.

To engineering: Treat this as a non-starter — Symfony2-only, archived, 3 stars, zero dependents. The only durable asset in the ecosystem is the Browscap dataset; the bundle is disposable DI glue. If we need UA resolution, depend on browscap-php or device-detector directly, wrap it behind an interface, cache aggressively, and keep it off any security or entitlement decision path — UA strings are spoofable. If the bundle is already in the codebase, schedule removal as tech debt and replace with a direct dependency.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console