gl3n/http-query-string-filter-bundle
A Symfony bundle for filtering HTTP query string parameters, letting you validate, sanitize, and normalize incoming request data before it reaches your application logic. Keeps controllers clean by centralizing query-string filtering rules.
filter_var / whitelist / cast boilerplate for the third time, this is the category of dependency that removes it.*Bundle namespace, service-container wiring). In a Laravel codebase it does not install or wire up cleanly; adopting it means either a Symfony service in a Laravel app (awkward) or reimplementing the same ideas. That alone usually settles the build-vs-buy question.Consider it only when all of the following hold:
composer.json before promising anything).Look elsewhere when:
spatie/laravel-query-builder (actively maintained, filter/sort/include conventions, strong docs) or hand-rolled FormRequests plus a query-builder scope. Both are better supported and cheaper to hire for.For executives (30 seconds): A small open-source PHP component that standardizes how our APIs accept filters in URLs — what parameters are allowed, what type they are, and who may use them. It solves a real, recurring problem: ad-hoc filter parsing is where inconsistent behavior and data-leak bugs come from. However, this specific package is a Symfony component last updated in 2016, with effectively no user base, and it does not fit our Laravel stack. Recommendation: do not adopt as a dependency. Use it as a reference design and adopt a maintained alternative or a ~1-week internal implementation. Value delivered either way; risk avoided.
For engineering: The problem is worth solving deliberately — parameter whitelisting, casting, and per-field authorization belong in one place, not scattered across controllers. The package is not: it's a Symfony bundle, dormant since 2016, PHP-version-capped, unpatched, and with no dependents to lean on. Proposed path: (1) document our filter contract; (2) adopt a maintained Laravel query-builder package or write a small, tested filter/authorization layer (~200–400 LOC); (3) add contract tests per endpoint so filters are verifiable and safe to extend. Budget: roughly one sprint for the internal option, less if a maintained package covers our cases.
Ask: Approval to close this as "evaluated, not adopted," and to allocate a sprint to the filter-contract work so list endpoints stop diverging.
How can I help you explore Laravel packages today?