spyrit/doctrine-datagrid-bundle
Symfony bundle that adds a Doctrine-powered datagrid, turning entity queries into sortable, filterable, paginated tables with configurable columns. Integrates with Doctrine ORM and Symfony templates for building admin-style data listings.
Architecture fit: The package is a Symfony Bundle (spyrit/doctrine-datagrid-bundle), not a Laravel package. It assumes Symfony's Kernel, bundle registration, DI container, and likely Twig/Doctrine integration. Laravel's package model (service providers, facades, Blade) has no analogue to a Symfony Bundle's boot/DI lifecycle. The datagrid concept itself — server-side query building, column definitions, filters, sorting, pagination over Doctrine — is framework-agnostic, but only the core query/column classes are portable. Everything that makes it a "bundle" is Symfony-bound and cannot be loaded as-is in Laravel.
Integration feasibility: Low. A direct Composer install in a Laravel app will not register providers, will not expose routes or templates, and will likely fail config/autoload. This is feasible only as a source-code reference or a fork-and-port exercise into a Laravel service provider plus laravel-doctrine/orm. The portable surface is small — query-builder wrapper, column definitions, filter types, paginator adapters — but documentation and tests appear absent, so behavior must be inferred from code.
Technical risk: High. Signals: 2 stars, 0 dependents, no visible release cadence, no community. Composer constraints almost certainly target PHP 5.x/7.x and Symfony 2/3/4, conflicting with PHP 8.x and current Symfony/Laravel/Doctrine ORM. Unmaintained code means no CVE response, no bug fixes, and stale Doctrine compatibility (ORM 3 API changes, deprecations). MIT permits forking, but the fork becomes our liability. Filter and sort handling that concatenates raw SQL fragments is a security review item before any use.
Key questions:
composer.json constraints (PHP, Symfony, Doctrine ORM, Twig)?Stack fit: Poor as a package; moderate as a pattern reference. For Laravel + Doctrine ORM we should lift the datagrid abstractions, not the bundle. For a Symfony stack the fit is better conceptually but still risky due to version drift and lack of maintenance.
Migration path:
packages/ path repo) with modernized composer constraints, PHP 8.x support, and new tests.Compatibility: Expect failure out of the box. Verify minimum PHP and Symfony versions; changes likely needed for EntityManager deprecations, QueryBuilder APIs, and count/pagination patterns. Any Twig templates must be reworked for Blade or a decoupled view layer. No Laravel service provider exists; one must be written to bind the grid factory, config, and filters.
Sequencing:
Maintenance: High burden. We own the fork: dependency upgrades, security patches, Doctrine ORM major-version changes, PHP upgrades. Upstream is effectively archived (2 stars, 0 dependents), so there is no upstream to rebase onto. Budget ongoing ownership rather than a one-time port.
Support: No vendor or community support. Documentation is likely a README or absent. Support becomes an internal SME plus code comments, and on-call needs a runbook for grid-related failures.
Scaling: Datagrids are read-side; risk concentrates in N+1 queries, expensive COUNT queries for pagination, unbounded filter combinations, and missing indexes. The package manages none of this. Query plans, caching, and pagination strategy must be owned by our team. Write-path risk is low.
Failure modes:
Ramp-up: Moderate for engineers fluent in Doctrine and Symfony conventions; low documentation raises the cost. Plan a 1–2 day audit plus a 1–2 week port spike for a small team. If a maintained alternative exists, total cost of ownership strongly favors it — this package is best treated as reference code, not a dependency.
How can I help you explore Laravel packages today?