sylius/grid-bundle
SyliusGridBundle brings advanced, configurable grids to Symfony applications, with filtering, sorting, pagination, and flexible data sources. Part of the Sylius eCommerce stack, it lets you build powerful admin listings and reusable grid definitions with clean, maintainable configuration.
Architecture fit
sylius/grid-bundle is a Symfony bundle, not a Laravel package. It assumes Symfony's DI container, bundle registration, compiler passes, Twig, Doctrine, and PagerFanta. There is no service provider, facade, config publishing, or Blade integration.GridBuilder (the direction of travel — see 1.11+ releases).Integration feasibility
composer require sylius/grid-bundle, enable the bundle, define a grid in YAML or a GridBuilder service, render with the provided Twig helpers. Documentation lives at stack.sylius.com/grid and is adequate for a first grid; beyond that, source reading is expected.Technical risk
AbstractGrid removed/deprecated, BC-alias guards added, subsequent patch to fix alias autoloading). The 1.x line has moved PHP 7.2 → 7.4 → 8.0 and Symfony 5.0 → 5.1 → 5.2 → 5.4 → 6.x/7.x. Minor versions are not always boring.Stack fit
Migration path
GridBuilder services over YAML for new grids: IDE support, static analysis, and testability. Do not build on AbstractGrid — the 1.16 line is removing it.Compatibility
composer.json with a caret range on the minor, not the major, and treat every minor as a review item.Sequencing
GridBuilder conventions, base template overrides, naming, and a lint/CI check that grids compile.Maintenance
Support
stack.sylius.com/grid, which is serviceable for onboarding but sparse for edge cases (custom data sources, complex filter composition, export).Scaling
OFFSET pagination. If listing screens grow past mid-six-figures of rows, plan keyset pagination or a search index (Elastic/Meilisearch) as a separate workstream — the bundle will not solve it.Failure modes
sort/filter parameters reaching the query layer — the historical injection vector. Enforce a whitelist of sortable/filterable fields per grid and add tests.Ramp-up
GridBuilder, filters, actions, and template overrides.How can I help you explore Laravel packages today?