symfony-twig/pager-bundle
symfony-twig/pager-bundle is a Symfony bundle for adding Twig-powered pagination to your projects. It provides reusable pager rendering and page navigation controls, helping you display paginated lists with configurable ranges and simple template integration.
paginate()/simplePaginate() and LengthAwarePaginator; Symfony's Pagerfanta and KnpPaginatorBundle). The real decision this package informs is whether we ever take a third-party dependency for something a team can implement in an afternoon. The answer here is a clean "no," and that becomes a reusable precedent.type: symfony-bundle, bundle class, Twig templates, service-container wiring) targeting Symfony ≥3. There is no supported path where it is a dependency of a Laravel app without an adapter we own forever. That is a product decision about what crosses our stack boundary, and who pays for the port.PageResult contract beats any micro-package.Consider it only if:
composer.json that its PHP/Twig constraints intersect your supported matrix.Look elsewhere when:
The disqualifying question is upstream of all of these: do we actually have Symfony services? If the estate is Laravel, this is a non-starter and the ticket should be closed.
To executives: Pagination is undifferentiated plumbing — it does not win customers or open markets, and every framework we use already ships it. This package has no adoption signal (zero stars, zero dependents, one maintainer), targets a Symfony generation that has been end-of-life since 2021, and cannot drop into a Laravel codebase. My recommendation is do not adopt: the cost of evaluating, forking, and owning it exceeds the cost of what our frameworks already provide, and it introduces supply-chain and upgrade-blocking risk for zero strategic return.
To engineering: Treat this as a reference implementation at best, and read it as a cautionary example rather than a candidate. For Symfony work, benchmark against Pagerfanta and KnpPaginatorBundle on maintenance activity, test coverage, and upgrade path; for Laravel, use the native paginator. If we somehow do adopt anything, we fork it into our namespace, pin it, wrap it behind an internal PaginatorInterface returning a neutral PageResult DTO, and assign an owner — budgeting for a permanent fork within twelve months. The realistic risks to plan for are framework-upgrade deadlock (highest probability and cost), silent mis-pagination on GROUP BY/HAVING/DISTINCT queries, Twig major-version escaping drift, and reflected-XSS in links built from request query strings.
Parallel track regardless of this decision: write the pagination standard once — capped perPage, a documented query-string contract, cursor pagination for high-volume endpoints, cached or approximate counts where totals need not be exact — and add a minimum-adoption threshold to our dependency guidelines so this evaluation does not recur.
Bottom line: a low-value, low-signal, framework-mismatched component that fails both the build-vs-buy and vendor-risk tests. Recommend "no," with framework-native pagination as the default and a documented list-UX standard as the deliverable.
How can I help you explore Laravel packages today?