PagerfantaBundle

Documentation

Version Not Yet Released

You are viewing the documentation for the 5.x branch of the PagerfantaBundle package which has not yet been released. Be aware that the API for this version may change before release.

Retrieving Views

You can access the Pagerfanta views through the pagerfanta.view_factory service, which is a Pagerfanta\View\ViewFactoryInterface instance. This is useful if your application does not use Twig but you still want to use Pagerfanta views for rendering pagination lists.

<?php

namespace App\Service;

use Pagerfanta\PagerfantaInterface;
use Pagerfanta\RouteGenerator\RouteGeneratorFactoryInterface;
use Pagerfanta\View\ViewFactoryInterface;

final class PagerfantaService
{
    public function __construct(
        private readonly ViewFactoryInterface $viewFactory,
        private readonly RouteGeneratorFactoryInterface $routeGeneratorFactory,
    ) {
    }

    public function render(PagerfantaInterface $pagerfanta, string $view, array $options = []): string
    {
        return $this->viewFactory->get($view)->render($pagerfanta, $this->routeGeneratorFactory->create($options), $options);
    }
}