pedro-teixeira/grid-bundle
A Symfony bundle for building data grids from Doctrine entities with sortable columns, filters, pagination, bulk actions, and CSV/Excel export. Configure columns, search, and row actions quickly in PHP or annotations for admin and reporting screens.
Headline: This is a Symfony bundle, not a Laravel package. The stated brief assumes a Laravel stack; the package has no Laravel integration surface. That mismatch, combined with a last release date of 2015-03-31, makes this a code-extraction candidate, not a dependency to adopt. Recommendation: do not add to composer.json; treat as MIT-licensed source material in a time-boxed spike.
Bundle class, a DependencyInjection extension/compiler passes, and framework resources (service YAML/XML, Twig templates, optional routing). Laravel has no bundle loader — none of this executes without a hand-written shim.composer.json will constrain PHP (>=5.x) and symfony/* to the 2.x line. Laravel 10/11/12 requires PHP 8.1+. Expect conflict errors and a need for a private fork, replace, or a VCS repository entry — at which point we are maintaining a fork before writing a line of application code.each(), create_function(), curly-brace string offsets, and untyped dynamic properties — all removed or deprecated in PHP 7.2–8.2. This is a mechanical but non-trivial Rector pass, and it must be validated by tests that likely do not exist upstream.| Risk | Severity | Notes |
|---|---|---|
| Abandonment | High | Last release ~10 years ago; 17 stars; single-maintainer bus factor of one. No upstream fixes, ever. |
| PHP/Symfony version drift | High | Blocks modern runtime upgrade path; forces a fork. |
| Security | Medium-High | No CVE monitoring for an unmaintained dependency; grid rendering of cell values is a classic stored-XSS surface if escaping isn't enforced per column type. |
| Silent behavior gaps | Medium | Description advertises columns, rows, display logic — notably not pagination, sorting, filtering, or bulk actions. These are table stakes and would be our build cost. |
| Fork ownership | Medium | MIT license makes forking legal and easy; it does not make it staffed. |
composer.json constraint block actually look like — is this resolvable on PHP 8.2 at all?Grid/Column/Row classes free of Symfony imports, or do they type-hint DI/Twig/Request? This determines whether extraction is days or weeks.Poor as a dependency; moderate as a design reference. The package's declarative column-definition model is a sound pattern — one Laravel already implements natively and better. Existing equivalents we should benchmark against first:
If any of these satisfies the requirement, the correct TPM decision is to close this evaluation and spend the effort on adoption instead of a fork.
Position this as extraction, not integration:
phpunit/pest + PHPStan baseline + Rector config.DependencyInjection, Bundle, and resource config.app/Support/Grid/ behind our own interfaces (GridDefinition, ColumnContract).composer.json. Keep attribution in a NOTICE/LICENSE file per MIT.composer.json, count Symfony/Twig imports across source, attempt an install in a throwaway Laravel 11 app. Gate: is >50% of source portable? If no, stop.How can I help you explore Laravel packages today?