Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Doctrine Datagrid Bundle Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

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:

  • Is the requirement specifically server-side Doctrine datagrids, or generic admin tables? If generic, mature alternatives exist.
  • What are the exact composer.json constraints (PHP, Symfony, Doctrine ORM, Twig)?
  • Does the repo have tests, CI, tagged releases, or open security-relevant issues?
  • Is there a maintained successor, fork, or equivalent (Sonata, EasyAdmin, Filament, custom implementation)?
  • What is the attribution and vendoring plan if we lift code into our repository?
  • What does the 30.14 opportunity score reflect internally, and what would justify an exception?

Integration Approach

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:

  • Do not add as a runtime dependency.
  • Clone, audit, and time-box a spike: identify the query-builder wrapper and column/filter classes, count LOC and tests.
  • Fork into a private repository (or packages/ path repo) with modernized composer constraints, PHP 8.x support, and new tests.
  • Or re-implement the datagrid with a thin internal layer or a maintained grid library.

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:

  1. Requirements check — confirm a datagrid is actually needed and no maintained option fits.
  2. Source audit (1–2 days) — LOC, tests, SQL injection surface, version constraints.
  3. Decision gate — build vs. port vs. existing library.
  4. Port spike — extract core classes behind our own interfaces, with integration tests against the target Doctrine version.
  5. Parity and regression tests — pagination totals, filters, sorting, hydration.
  6. Rollout behind a feature flag with fallback to plain query building.

Operational Impact

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:

  • Composer resolution conflicts on PHP/Symfony/Doctrine versions.
  • Boot or runtime failure from missing DI/config wiring.
  • Incorrect pagination totals and count queries on complex joins.
  • SQL injection via filter or sort inputs if query building is naive.
  • Silent behavior changes when Doctrine ORM APIs shift.
  • No upstream fixes for bugs we discover.

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource