samson/autocomplete-bundle
Symfony bundle that adds autocomplete form fields backed by Doctrine entities, providing a bundled AJAX search endpoint and configurable matching so users pick records from a live-filtered dropdown instead of long, unwieldy select lists.
Framing correction (most important finding): Despite the "Laravel/PHP package" label in the brief, samson/autocomplete-bundle is a Symfony bundle, not a Laravel package. The Bundle suffix, the Doctrine ORM coupling, and the Symfony DI/Twig conventions it implies mean it will not install, autoload, or boot in a Laravel application without a port. Any evaluation must therefore be split: (a) as a drop-in for a Symfony/Doctrine codebase, and (b) as a pattern reference for a Laravel codebase. The 1.8 composite score against a 7.86 "opportunity" score reads as: the capability is valuable, the artifact is not.
Architecture fit
{id, text} for Select2 — is sound and framework-agnostic.routes/web.php, Blade, or Eloquent.laravel-doctrine/orm) but is a niche, single-maintainer integration that adds a second persistence layer to reason about. Adopting this bundle effectively means adopting Doctrine and Symfony idioms to get an autocomplete widget.Integration feasibility
Technical risk
LIKE '%term%' pattern — leading wildcards defeat indexes and will table-scan; (3) result sets are hard-capped and paginated; (4) the endpoint is authenticated/rate-limited, since it is trivially scriptable.Key questions to answer before any decision
composer.json declare, and is the last commit within 24 months?Stack fit
select2/Tom Select init, and a route — roughly 1–3 engineer-days, versus an open-ended port of untested third-party code.Migration path (Laravel)
GET /api/autocomplete/{resource}?q= → {results: [{id, text}]}.where('name','like',$q.'%') (trailing-only wildcard to preserve index usage) or Laravel Scout + Meilisearch/Typesense for large tables.perPage.Migration path (Symfony)
path/VCS repository entry.Compatibility & sequencing
Maintenance
Support
Scaling
LIKE '%term%' autocomplete degrades roughly linearly with table size and is called on every keystroke. This is the dominant scalability failure mode.pg_trgm indexes — not on the primary OLTP database.Failure modes
Ramp-up
How can I help you explore Laravel packages today?