mazarini/pagination-bundle
mazarini/pagination-bundle provides straightforward pagination for PHP/Symfony applications. Configure page sizes, paginate result sets, and render consistent navigation with bundle services and template helpers for cleaner list and search pages.
Primary decision supported: a documented "do not adopt" call. The most valuable output of this evaluation is a fast, defensible rejection, which saves engineering evaluation time and prevents an accidental dependency from entering the codebase. Specific decisions it informs:
mazarini/pagination-bundle, a Symfony bundle coupled to Doctrine ORM — not a Laravel package. If our product surface is Laravel/Blade/API Resources, the answer is the framework's built-in LengthAwarePaginator / cursorPaginator. The decision is not "build vs. buy," it's "use the primitive we already own."Consider only if every one of these is true:
knplabs/knp-paginator-bundle or pagerfanta/pagerfanta — on concrete grounds, not convenience.Look elsewhere — the default answer — when:
Comparison for the decision record:
| Option | Stack | License | Maintenance signal | Verdict |
|---|---|---|---|---|
| Framework built-in | Laravel | MIT | Core team | Default |
knplabs/knp-paginator-bundle |
Symfony | MIT | Established, widely used | Preferred if Symfony |
pagerfanta/pagerfanta |
Framework-agnostic | MIT | Active | Strong alternative |
mazarini/pagination-bundle |
Symfony + Doctrine | GPL-3.0 | 1 star, 0 dependents | Reject |
For executives (30 seconds): We evaluated a third-party pagination library and are recommending against it. Three reasons: it doesn't run on our stack (it's built for Symfony, we're on Laravel), it carries a GPL-3.0 license that creates legal exposure for anything we distribute, and it has essentially no adoption or maintenance base — one maintainer, one star, no downstream users. Pagination is a solved, commodity capability that our framework already provides for free. Recommendation: no action, no spend, no dependency. The cost of adopting it would exceed the cost of building it, and we'd own the maintenance forever.
For engineering (the substance): Don't take this dependency. We get pagination from the framework's LengthAwarePaginator for offset cases and cursorPaginator for large or high-churn datasets — both MIT, both maintained by the core team, both already in the lockfile. If we ever stand up a Symfony/Doctrine service, use KnpPaginatorBundle or Pagerfanta; both are MIT and have real user bases. This package is single-maintainer with zero dependents, meaning we would become its de facto maintainer for a capability that is roughly fifteen lines of query-builder code. The GPL license is a hard stop for any distributed artifact and needs a legal read before any hosted use.
The durable win from this evaluation is the policy, not the package: pagination stays out of the roadmap as a feature, and any third-party dependency in a distributed artifact gets a license check before it gets a pull request.
How can I help you explore Laravel packages today?