idci/group-action-bundle
A Symfony bundle for adding grouped (bulk) actions to entity lists: select multiple rows and apply a shared action at once. Useful for batch delete, status changes, or custom operations in admin interfaces, with configurable action services and handlers.
Headline finding: framework mismatch. idci/group-action-bundle is a Symfony bundle, not a Laravel package. The assessment below is written against the actual artifact, not the "Laravel/PHP package" framing — that distinction drives the verdict.
Architecture fit
Integration feasibility
composer require would technically succeed in a Laravel app, pulling Symfony components transitively. That is the trap, not the win: you inherit dependency weight and version-constraint coupling with Laravel's own symfony/* graph (console, http-foundation, process) for a service you must instantiate and drive by hand.Technical risk
ids[] payload, CSRF, and partial-application data corruption. Placing an unvetted, zero-adoption dependency directly on that path is a supply-chain and correctness risk disproportionate to the code it saves.Key questions
Verdict: No-go for the Laravel stack. Re-open only if question 7 resolves to yes.
Stack fit
Migration path (Laravel-native equivalent) If the requirement is real, build the pattern, not the port:
GroupAction contract: key(), label(), authorize(User, Model): bool, handle(Collection $models).ids[] + action, with action validated against registry keys (allowlist, never reflection on user input) and ids[] validated as an array of existing IDs.chunkById for iteration; above a configurable threshold, dispatch a queued job and return a job handle rather than blocking the request.Compatibility
composer why symfony/http-kernel and a composer update --dry-run first. Constraint conflicts here surface late and expensively.composer.json is read directly; the metadata provided is not trustworthy for constraint planning.Sequencing
composer.json and the handler service directly; answer the authorization and transaction questions from source, not the README.Maintenance
Support
Scaling
Failure modes
ids[] payload. Highest-severity mode.Ramp-up
How can I help you explore Laravel packages today?