PagerfantaBundle

Integrates the Pagerfanta pagination library into Symfony applications

Library
Composer
vv4.6.0
210stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
34/100Needs Attention
Development Activity4
Maintenance0
Community52
Maturity60
Momentum20

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
65/100Good
Architecture66
Code Quality68
Innovation52
Learning Curve74

PagerfantaBundle wires the framework-agnostic Pagerfanta pagination library into Symfony’s dependency injection, routing, and Twig systems, so applications get configured pagination adapters, route-aware pager view links, and rendering helpers without manually bootstrapping Pagerfanta themselves. It’s a continuation of the older WhiteOctoberPagerfantaBundle, maintained by BabDev under the same MIT license and general design.

The bundle registers Pagerfanta adapters as Symfony services, provides a RouteGenerator for building pager links against the current route/query parameters, ships Twig functions/templates for rendering pagination controls, and optionally integrates with JMS Serializer for API responses that need paginated collections serialized with metadata.

What You Get

  • Symfony DI configuration that registers and configures Pagerfanta adapters as services
  • A RouteGenerator that builds pagination links aware of the current route and query parameters
  • Twig functions and bundled templates for rendering pager controls in views
  • An EventListener layer for hooking into the pagination lifecycle
  • Optional JMS Serializer integration for serializing paginated API responses with metadata
  • A View abstraction layer for customizing how pagination is rendered

Common Use Cases

  • Paginating Doctrine query results or arrays in a Symfony controller and rendering pager links in Twig
  • Building paginated JSON API responses with consistent metadata via the JMS Serializer integration
  • Customizing pagination link generation to preserve query-string filters/sorting across pages
  • Standardizing pagination UI across a Symfony app’s admin and public-facing views

Under The Hood

Architecture — The bundle’s src/DependencyInjection registers Pagerfanta adapter services and bundle configuration into Symfony’s container; src/RouteGenerator builds page URLs against Symfony’s routing component so pager links respect the current route and preserve extra query parameters; src/View and src/Twig provide the rendering layer (Twig functions plus bundled templates under templates/), and src/Serializer adds an optional JMS Serializer handler for paginator objects, while src/EventListener and src/Exception round out lifecycle hooks and bundle-specific error types. Tech Stack — PHP 8.1+, built directly on pagerfanta/core plus Symfony components (config, dependency-injection, http-foundation, http-kernel, property-access, routing) and PSR container interfaces; dev dependencies include PHPStan (with Symfony/PHPUnit extensions) and PHPUnit 10-12 for static analysis and testing. Code Qualitytests/ mirrors the src/ structure closely (Serializer, RouteGenerator, View, Twig, DependencyInjection, EventListener), indicating deliberate per-component test coverage; PHPStan is wired in as a dev dependency for static analysis, though GitHub activity data shows low recent commit velocity, consistent with a stable, infrequently-changing integration bundle rather than a young or churning project. API Design — Configuration follows standard Symfony bundle conventions (YAML/PHP config under config/, auto-registered services), so developers already familiar with Symfony bundles have a short learning curve; the main friction point is needing to understand Pagerfanta’s own adapter concept as a prerequisite, since this bundle is purely an integration layer rather than the pagination logic itself.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search