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 Laravel Package

makerlabs/pager-bundle

PagerBundle brings flexible pagination to Symfony apps, with page and range pagers, adapters for Doctrine and arrays, and Twig helpers for rendering page links. Configure page size, window ranges and templates to build consistent paginated lists and search results.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — non-existent for Laravel. makerlabs/pager-bundle is a Symfony2 bundle, not a Laravel package. Its integration surface is a Symfony construct: AppKernel registration, DependencyInjection/*Extension compiler passes, Resources/config/services.yml wiring, and Twig helper extension. Laravel offers none of these hooks — no ServiceProvider, no facade, no config publish tag, no Blade views. To use it in a Laravel app you would write an adapter that (a) binds the pager into the container, (b) rebuilds the rendering layer in Blade, and (c) translates the bundle's page / perPage / total contract into Laravel's. That is a net-new component wearing a dependency's clothes, not leverage.

What the package actually delivers is already native. Laravel ships Illuminate\Pagination\LengthAwarePaginator, Paginator, and CursorPaginator, plus first-party Blade templates for Bootstrap and Tailwind. The bundle's stated value — computing offsets, total pages, and navigation ranges — is a solved problem in the target stack. Any real value here is as a reference shape, not a runtime dependency: its page / perPage / total surface is a sane contract to crib when defining an internal pagination standard.

Integration feasibility — low without an adapter, and the adapter is the cost. There is no autoloadable Laravel-friendly class, no Laravel contract, and no maintained bridge. Attempting installation is expected to fail Composer resolution because the bundle pins Symfony 2.x components that collide with the Symfony 5/6/7 components Laravel 10/11 already require.

Technical risk — concentrated in provenance and lifecycle.

  • Framework EOL: Symfony 2.8 reached end of life in November 2018. No security response, no PHP 8.x fixes.
  • Provenance mismatch: package name makerlabs/pager-bundle versus repository smoya/PagerBundle. Confirm Packagist vendor identity, fork status, and publish rights before any further evaluation.
  • Adoption signal: 0 stars, 0 dependents, composite score 0.03. Zero dependents means no downstream bug reports, no security regression testing, and no compatibility matrix.
  • Bus factor: single maintainer, unknown release cadence, no evidence of CI or test coverage.
  • License: MIT — clean, the one dimension with no friction.

Key questions for the owning team

  1. Was this surfaced by a dependency scan or by an actual Symfony2 service in our estate? If the former, it is a transitive-only concern and the leverage is "remove it," not "adopt it."
  2. Does the package appear in any composer.lock today, and what pulled it in?
  3. Which pagination semantics do we need — offset, keyset/cursor, or custom page-number views?
  4. Is this a fork of smoya/PagerBundle? If so, why, and is the fork patched?
  5. What is our maintained successor path — native Laravel pagination, or a maintained Pagerfanta line only if a Symfony service is genuinely in scope?

Assessment: the opportunity score (37.02) reflects a real gap in pagination ergonomics, but this package does not fill it. The composite score of 0.03 is the operative number: treat as do-not-adopt pending answers to questions 1 and 2. The only leverage worth capturing is the design contract, which can be copied in an afternoon.

Integration Approach

Stack fit — no direct fit; substitute, do not integrate. Recommendation is to decline adoption for Laravel workloads and route to native Illuminate\Pagination. Framing for the plan: this is a scope decision (wrong artifact for the stack), not just a quality decision (unmaintained). Even a well-maintained Symfony2 bundle would be the wrong dependency for a Laravel service.

Migration path — two distinct cases, different sequencing.

  • Laravel-targeted work (primary case): no migration, only substitution. Map the bundle's intended behavior onto LengthAwarePaginator for offset paging and CursorPaginator for large/hot tables. Close the evaluation.
  • Legacy Symfony2 service (if one exists): do not adopt this bundle as a stepping stone. Go directly to a supported Symfony plus maintained Pagerfanta. Adopting an EOL-coupled bundle mid-migration increases the distance to the target state.

Compatibility gates before any work

  • Read composer.json: PHP floor, symfony/symfony constraint, and whether Twig is a hard dependency.
  • Expect PHP 5.x-era constraints that hard-block installation alongside Laravel 10/11 (PHP 8.1+).
  • Do not relax constraints (--ignore-platform-reqs) to force a fit; that converts a clean rejection into a latent production fault.

Sequencing

  1. Day 0 — provenance and inventory (2h). Resolve makerlabs vs smoya. Grep lockfiles and vendor/ for a transitive copy.
  2. Day 0.5 — evidence spike (0.5d). Attempt composer require makerlabs/pager-bundle --dry-run against a throwaway Laravel skeleton. Record the resolution failure so the rejection is evidence-backed, not asserted.
  3. Day 1 — interface prototype (optional, 0.5d). If page-rendering needs are non-trivial, define an internal PagePresenter contract now so future swaps (native, Pagerfanta, maintained package) are a binding change, not a refactor.
  4. Day 1.5 — decision record. File an ADR with the constraints found, the substitute chosen, and a re-evaluation trigger (a maintained Laravel port with active CI and non-zero dependents appears).
  5. Ongoing — supply-chain hygiene. If transitively present, pin or replace the dependent that pulls it in; add to the dependency-review watchlist so it is not re-evaluated.

Operational Impact

Maintenance. Assume unmaintained until proven otherwise. Zero dependents means no community patch velocity, no CVE surfacing through the usual channels, no one validating new PHP releases. Any adoption transfers full ownership to us — including PHP 8.x deprecation fixes — for a component whose functionality is commodity. The correct posture is to not take that ownership on.

Support. No vendor, no maintainer SLA, no advisory channel. Internal ownership would need to be assigned before any production use; that cost is disproportionate for pagination.

Scaling — the genuinely valuable takeaway. Independent of the package: offset pagination (LIMIT/OFFSET) degrades linearly on deep pages and produces unstable ordering under concurrent writes. For high-volume tables, standardize on keyset/cursor pagination (CursorPaginator in Laravel). This is a query-layer decision the package cannot make for us, and it should land in the platform backlog as a pagination standard, not as a dependency choice.

Failure modes to watch

Mode Trigger Blast radius
Composer constraint conflict Install alongside PHP 8.1+ / Laravel 10+ Build blocked; forces --ignore-platform-reqs workarounds
Container/bundle boot error Bundle registered in a non-Symfony kernel Fatal at bootstrap — full outage, not degraded
Missing view layer Twig helper assumptions carried into Blade Pagination renders blank or throws in templates
Autoload/vendor collision Fork coexisting with upstream smoya package Class redefinition, nondeterministic resolution
Deprecation fatal PHP 8.x on PHP 5-era code Runtime errors on first page render
Unpatched vulnerability No advisories channel Silent — worst detection profile

The bootstrap-failure row drives the decision: this class of defect fails loudly at deploy time rather than at request time, which is preferable, but it fails the entire application, not just pagination.

Ramp-up. Low absolute learning cost — pagination is well understood, and any Symfony-fluent engineer reads the bundle quickly. The real cost is unjustified knowledge transfer: onboarding the team onto a 0-star, EOL-coupled artifact whose concepts they will never reuse. Native Laravel pagination requires zero net-new ramp-up. Recommend documenting the pagination standard once — offset vs. cursor, view conventions, page-size limits, link-header format for API surfaces — and enforcing it in code review.

Bottom line for the roadmap: reject for adoption, resolve the transitive-dependency question, capture the page / perPage / total design contract as an internal interface, and invest the saved effort in a documented pagination standard plus cursor pagination for high-volume endpoints. The 37.02 opportunity score is a signal about the problem space, not about this package; it should pull the standard onto the backlog, not the dependency onto the roadmap.

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.
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk