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
Pager Bundle

Pager Bundle Laravel Package

smilingplants/pager-bundle

smilingplants/pager-bundle provides lightweight pagination for PHP applications, helping split large result sets into manageable pages for lists, search results, and admin screens. It offers a simple pager API with configurable page sizes and minimal setup.

View on GitHub
Deep Wiki
Context7

A fancy pager for Symfony 2, complete with Twig integration.

Frequently asked questions about Pager Bundle
Can I install smilingplants/pager-bundle in a Laravel application?
No. Despite being described as suitable for PHP and Laravel applications, pager-bundle is a Symfony 2 bundle that registers through AppKernel::registerBundles, the Symfony DI container, and the Symfony event dispatcher. Laravel has no bundle concept, only service providers and a container lifecycle, and there is no shim that reconciles the two runtimes. Running composer require will not give you anything you can instantiate inside a Laravel app.
Is smilingplants/pager-bundle compatible with Laravel 10 or 11?
No. The package almost certainly pins symfony/* to ~2.x and twig/twig to ~1.x with a PHP floor somewhere in the 5.3 to 7.0 range. Laravel 10 and 11 require PHP 8.1 or newer, so Composer will report a dependency conflict rather than install anything. This is a resolver failure, not a soft warning you can ignore with --ignore-platform-reqs without breaking the package at runtime.
What does smilingplants/pager-bundle actually do?
It provides a small pager abstraction plus Twig-rendered navigation markup for splitting result sets into pages. You get configurable page ranges, first/last/ellipsis windows, and navigation labels, with paging logic kept separate from the view layer. That value proposition is already covered in Laravel by LengthAwarePaginator and Blade's links() method, so there is almost nothing the bundle adds that the framework does not ship.
What should I use instead of pager-bundle for pagination in Laravel?
Use Laravel's built-in pagination: Model::paginate(), the LengthAwarePaginator class, and the pagination views that ship with the framework. You can tune the window with onEachSide(), preserve query strings with withQueryString(), and add anchors with fragment(). For custom markup, publish or create a Blade partial and replace the default Tailwind or Bootstrap view. If you genuinely need a custom abstraction for multi-entity or cursor paging, build it as an internal app/Support class rather than pulling in a legacy dependency.
Does smilingplants/pager-bundle depend on Twig or Pagerfanta?
Almost certainly yes on Twig, since the bundle's navigation is rendered through Twig templates at Twig 1.x versions. It may also depend on a Pagerfanta package, either the old whiteoctober/pagerfanta or the current pagerfanta/pagerfanta, depending on when the repo was last touched. Check the composer.json to confirm which one and at what version, because Twig 1.x carries published security advisories including sandbox escape and template injection vectors.
Is smilingplants/pager-bundle safe to use in production?
No. Symfony 2 reached end of life with the 2.8 LTS in November 2018, so the underlying runtime receives no security patches. The project has roughly one star, zero dependents, and no visible maintenance, which means no external security review, no bug reports, and no upgrade pressure. Bus factor is one, and abandonment risk here is realized rather than speculative, so treat it as a dead artifact.
How do I migrate an existing pager-bundle view to Laravel?
Port the intent, not the code. Read the repo for its pager layout, the window logic that decides how many page links surround the current page, its first/last/ellipsis behavior, and its accessibility markup, then rebuild that as a Blade partial on top of LengthAwarePaginator. The underlying arithmetic of offset, limit, and ellipsis windows is trivial and the framework already handles it. Expect this to take roughly half a day to two days, and treat that as the total value of the package to a Laravel team.
Can I use smilingplants/pager-bundle with Symfony 5, 6 or 7?
No. Symfony 6 and 7 removed the bundle-era APIs this code assumes, and even Symfony 4+ Flex applications do not load legacy bundles without modification. A modernization would be a rewrite against current Symfony conventions rather than an upgrade. If your target really is Symfony, start from pagerfanta/pagerfanta and current Twig instead.
What PHP version does smilingplants/pager-bundle require?
Expect a floor in the PHP 5.3 to 7.0 range, consistent with a Symfony 2 era codebase. That directly conflicts with the PHP 8.1+ requirement of Laravel 10 and 11 and with any modern host you are likely running. Verify the exact constraint in composer.json before making any assumptions about compatibility.
Are there better maintained alternatives to smilingplants/pager-bundle?
For Laravel, the correct alternative is the framework's own paginator, which is maintained, tested, and documented alongside every release. For Symfony projects, use pagerfanta/pagerfanta with a current Twig version. The bundle itself is worth about thirty minutes of reading as a design reference and zero minutes of dependency evaluation.
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
cgv/localized-resource