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

Datatables Api Bundle Laravel Package

pierres/datatables-api-bundle

Symfony bundle that exposes DataTables-compatible API endpoints for server-side processing, with filtering, sorting, pagination, and JSON responses for Doctrine-backed datasets.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Admin/back-office roadmap sequencing. Server-side tables (paging, ordering, global and per-column search) are the single most repeated screen pattern in internal tooling — users, orders, invoices, audit logs. Adopting a standard handler lets you commit to those screens earlier and at lower cost per screen.
  • Build vs. buy on non-differentiating plumbing. The package implements the DataTables request/response contract (draw, start, length, order, search[value], column-level filters) and the matching JSON envelope (recordsTotal, recordsFiltered, data). That is well-understood, low-value work — a candidate to buy, port, or standardize rather than design per feature.
  • Standardizing list endpoints. One convention across entities reduces design churn, review surface, and onboarding time, and gives you a predictable story for pagination defaults, max page size, and searchable-column limits.
  • Frontend stack commitment. Adopting the pattern ties you to jQuery DataTables or a compatible client. That is an architecture decision (jQuery vs. SPA component libraries, offset vs. cursor pagination) and should be made deliberately — not as a side effect of shipping one table screen.
  • Vendor/maintenance ownership. With zero stars, zero dependents, and a package score of 0, this is effectively unknown and unmaintained. Choosing it is a fork-and-own decision with an indefinite maintenance tail, not a routine dependency add.
  • Stack fit as the gating question. It is a Symfony bundle, not a Laravel package. Symfony bundles do not load in Laravel; only the framework-agnostic core library and the request/response pattern are portable. For a Laravel codebase, the real decision is "Laravel-native option vs. in-house port," and this repo's role is reference implementation.
  • Roadmap signal only. The 9.65 "opportunity" score alongside a 0 package score and 0 dependents means the ecosystem has identified a gap but not filled it. Treat it as validation that the abstraction is worth standardizing internally — not as evidence this code is ready.

When to Consider This Package

Consider it when:

  • The backend is Symfony and the frontend already uses, or will use, DataTables with server-side processing — this is the only scenario where the bundle's value-add (DI registration, configuration tree, kernel wiring) actually applies.
  • You have many tabular screens and a small team that benefits more from convention than from bespoke controller logic.
  • The screens are internal, lower-traffic, and not on a performance-, security-, or revenue-critical path.
  • You are prepared to vendor or fork it and treat it as source you own, with a named owner, a pinned commit, and a documented upgrade path.
  • The DataTables contract is sufficient: offset pagination, ordering, global and per-column search, single-entity queries.
  • For Laravel teams: consider it only as a design reference for building a native equivalent — the request parsing rules, the JSON envelope, and the filtered/unfiltered count handling are the reusable parts.

Look elsewhere when:

  • The stack is Laravel — use yajra/laravel-datatables, API resources, or a thin query-builder abstraction instead of adapting a Symfony bundle. Run that comparison before committing engineering time to a port.
  • The frontend is a modern SPA with client-side tables, cursor pagination, or virtualized lists; DataTables' offset model and form-encoded parameter shape will not fit.
  • You need typed contracts, OpenAPI, or GraphQL rather than DataTables' query-string protocol.
  • Endpoints are public, high-traffic, or security-sensitive. Client-supplied column, order, and search parameters feed directly into query construction — an unmaintained parser with no dependents is both a supply-chain and an injection-surface risk.
  • You need cross-entity joins, aggregations, large exports, or row-level authorization that the bundle will not model.

How to Pitch It (Stakeholders)

Executives. "A large share of internal tooling is lists — users, orders, invoices — each needing sorting, filtering, search, and paging. We rebuild that logic on every screen. This package is a ready-made implementation of that pattern, so admin and reporting screens could ship faster and cheaper, and the estimate is real: roughly 2–3 engineer-weeks to production-grade, most of which is adapter work we'd own either way. The catch is that it's a small, unmaintained open-source component with no visible adoption, and it targets Symfony while our stack is Laravel — so we'd be using it as a blueprint, not a dependency. My recommendation: a short, time-boxed spike, benchmarked against the maintained Laravel-native alternative. If it holds up, we build a thin internal standard we own. I would not put it on a customer-facing critical path."

Engineering. "It's a Symfony bundle over a framework-agnostic core that maps DataTables' server-side request format onto a query — paging, ordering, column search — and emits the standard draw/recordsTotal/recordsFiltered/data envelope. Adoption is effectively zero: no stars, no dependents, Symfony 3/4-era lineage, no PHP 8.2/8.3 or Laravel 10/11 guarantees. So treat it as a starting point, not a dependency. Four things to settle before we write code: (1) stack fit — Symfony bundles don't load in Laravel; we'd port the pattern or use Yajra; (2) security review of the parameter-to-query path — column and order whitelisting is mandatory or it's an injection surface; (3) fork-and-own vs. reimplement, decided explicitly, since nobody upstream is maintaining it; (4) wrap it behind our own DataTablesQuery interface so swapping the implementation later is a contained change. Sequence it: interface, then a parameter-parsing proof in a test, then one read-only endpoint behind a feature flag, then a parity test against the existing implementation on row counts, ordering, and search semantics before expanding. Watch the classic failure modes — filtered vs. unfiltered count mismatch, deep-offset memory blowups, and DataTables 1.10 vs. 2.x parameter contract drift."

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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager