router = $router; } public function getFunctions() { return [ new \Twig_SimpleFunction('paginate', [$this, 'paginate'], ['is_safe' => ['html']]) ]; } /** * Génère la pagination * @param Pagerfanta $paginatedResults * @param string $route * @param array $routerParams * @param array $queryArgs * @return string */ public function paginate( Pagerfanta $paginatedResults, string $route, array $routerParams = [], array $queryArgs = [] ): string { $view = new TwitterBootstrap4View(); return $view->render($paginatedResults, function (int $page) use ($route, $routerParams, $queryArgs) { if ($page > 1) { $queryArgs['p'] = $page; } return $this->router->generateUri($route, $routerParams, $queryArgs); }); } }