- Can I use pedro-teixeira/grid-bundle in a Laravel application?
- No, not directly. GridBundle is a Symfony bundle: it ships a Bundle class, a DependencyInjection extension, and Symfony service configuration, none of which Laravel can load. Laravel has no bundle loader, so you would need a hand-written shim before any grid code runs. Only the framework-agnostic domain classes (columns, rows, formatting) are plausibly portable.
- Is grid-bundle compatible with PHP 8.1, 8.2, and Laravel 10, 11, or 12?
- Almost certainly not without a fork. The last release was 2015-03-31, so its composer.json constrains PHP to the 5.x era and symfony/* to the 2.x line, which conflicts with Laravel 10+ requiring PHP 8.1 or newer. Code from that period often uses each(), create_function(), curly-brace string offsets, and untyped dynamic properties, all removed or deprecated by PHP 8. Expect a Rector pass plus manual fixes and no upstream help.
- What does grid-bundle actually do for building data grids?
- It lets you declaratively define columns with custom formatting, wire them to Doctrine queries, and render consistent tables in Twig without repeating boilerplate. It targets reusable grid classes for admin listings and reporting screens. The advertised scope centers on column and row definitions rather than on the interactive features developers usually expect.
- Does grid-bundle include sorting, filtering, pagination, bulk actions, and CSV export?
- The summary blurb claims sortable columns, filters, pagination, bulk actions, and CSV/Excel export, but the technical review of the package description found only columns, rows, and display logic documented. Sorting, filtering, and pagination are table stakes that may need to be built yourself. Verify the actual source before assuming these features exist.
- Does grid-bundle render with Twig or Blade?
- It renders through Twig templates, which is the Symfony view layer. Laravel uses Blade, so any grid rendering that goes through Twig functions or templates requires a full rewrite of the view layer. That view layer is where most user-visible grid behavior lives, which makes it the biggest porting cost.
- Why does composer require pedro-teixeira/grid-bundle fail to resolve?
- A 2015-era composer.json pins PHP to 5.x and Symfony to the 2.x line, which conflicts with modern PHP 8.1+ and Laravel 10/11/12 requirements. Composer will usually report constraint conflicts and abort the install. Getting past it means a private fork, a replace entry, or a VCS repository, at which point you are maintaining a fork before writing any application code.
- Is grid-bundle still maintained and when was its last release?
- It is effectively abandoned: the last release was 2015-03-31, roughly a decade ago, with around 17 GitHub stars and a single maintainer. There is no upstream CVE monitoring or bug fixing for the code. MIT licensing makes forking legal and easy, but it does not make the fork staffed.
- Does grid-bundle ship tests, and is it safe to run in production?
- A fork without a regression harness is unverifiable, and a decade-old single-maintainer bundle is unlikely to have meaningful test coverage. Without tests you cannot validate a PHP 8 compatibility pass or refactors. Production use should be treated as code extraction under a time-boxed spike rather than a dependency you add to composer.json.
- Does grid-bundle escape cell output and protect against stored XSS?
- This is an open question and a real risk surface. Grid rendering of cell values is a classic stored-XSS vector, especially when each column type can opt out of escaping for custom formatting. Before adopting or extracting anything, confirm that output is escaped by default and that opting out is a deliberate per-column decision, not the default behavior.
- What are good Laravel alternatives to grid-bundle for admin data tables?
- Laravel has native options such as Filament tables, Livewire-powered tables, and query-builder packages like spatie/laravel-query-builder for sorting, filtering, and pagination. GridBundle's declarative column-definition model is a sound design reference you can reimplement as PHP value objects with Blade views. In practice, adopting a maintained Laravel-native table solution is cheaper than fork-and-extract for the same requirement.