getCurrentItemsPerPage(), $this->getCurrentPageNumber(), $route ?? $this->getCurrentRoute(), $routeParameters ?? $this->getCurrentRouteParameters(), $this->router, self::DEFAULT_CURRENT_PAGE_KEY, self::DEFAULT_ITEM_PER_NUMBER_KEY ); } public function getCurrentItemsPerPage() { return $this->requestStack ->getCurrentRequest() ->query ->getInt(self::DEFAULT_ITEM_PER_NUMBER_KEY, $this->itemPerPage); } public function getCurrentPageFirstItemNumber() { return ($this->getCurrentPageNumber() - 1) * $this->getCurrentItemsPerPage(); } /** * @return int */ public function getCurrentPageNumber() { return $this->requestStack ->getCurrentRequest() ->query ->getInt(self::DEFAULT_CURRENT_PAGE_KEY, self::DEFAULT_PAGE_NUMBER); } protected function getCurrentRoute() { $request = $this->requestStack->getCurrentRequest(); return $request->get('_route'); } protected function getCurrentRouteParameters() { return array_merge( $this->router->getContext()->getParameters(), // get the route parameters $this->requestStack ->getCurrentRequest() ->attributes->get('_route_params'), // get the query parameters $this->requestStack ->getCurrentRequest()->query->all() ); } }