gregwar/form-bundle
Gregwar FormBundle is a Symfony bundle that provides reusable form types, extensions, and rendering helpers for PHP applications. It simplifies building and customizing Symfony forms while keeping integration lightweight and straightforward, ideal for projects that want concise form tooling without...
<select> populated with every candidate, or a plain identifier input backed by client-side search/autocomplete? entity_id encodes the second choice. That matters once candidate sets exceed a few hundred rows — a full EntityType choice list becomes a payload, memory, and usability problem.FormType plus a DataTransformer (id ⇄ entity), roughly 30–60 lines. Adopting a dependency here is buying a rounding error. The PM decision is really "do we want a third-party in the form layer for something we'd own in an afternoon?"Adoption criteria — all of these should hold:
composer.json constraint (this package's era is Symfony 2.x; verify before anything else).Reasons to look elsewhere:
EntityType with an autocomplete endpoint, or a maintained Symfony UX autocomplete solution, is better supported than a 64-star bundle with zero dependents — that's no ecosystem validation at all.To executives: This is not a platform decision, it's a form-field convenience. The underlying idea — let users search for a related record instead of scrolling a dropdown of thousands — is worth adopting. The specific dependency is not: it is small, effectively unmaintained, has no downstream users, and carries more carrying-cost than the code it replaces. Recommendation: reproduce the pattern in-house and skip the dependency.
To engineering: The problem is real and the solution is well understood: a form field that accepts an identifier plus a data transformer that maps it to an entity, with search handled client-side against a lightweight lookup endpoint. We should own that code — it's tens of lines — and explicitly own the two things third-party versions of this pattern usually omit: existence validation and per-record authorization. If we're on an older Symfony app already using the bundle, keep it for now and add "inline and remove" to the next upgrade's scope; do not port it forward.
How can I help you explore Laravel packages today?