zend-blog-3-backend

Форк
0
/
KnpPaginatorAdapter.php 
51 строка · 1.0 Кб
1
<?php
2
/**
3
 * User: morontt
4
 * Date: 02.10.2024
5
 * Time: 09:58
6
 */
7

8
namespace App\API\Fractal;
9

10
use Knp\Bundle\PaginatorBundle\Pagination\SlidingPagination;
11
use League\Fractal\Pagination\PaginatorInterface;
12

13
class KnpPaginatorAdapter implements PaginatorInterface
14
{
15
    private array $paginationsData;
16

17
    public function __construct(SlidingPagination $paginator)
18
    {
19
        $this->paginationsData = $paginator->getPaginationData();
20
    }
21

22
    public function getCurrentPage(): int
23
    {
24
        return $this->paginationsData['current'];
25
    }
26

27
    public function getLastPage(): int
28
    {
29
        return $this->paginationsData['pageCount'];
30
    }
31

32
    public function getTotal(): int
33
    {
34
        return $this->paginationsData['totalCount'];
35
    }
36

37
    public function getCount(): int
38
    {
39
        return $this->paginationsData['currentItemCount'] ?? 0;
40
    }
41

42
    public function getPerPage(): int
43
    {
44
        return $this->paginationsData['numItemsPerPage'];
45
    }
46

47
    public function getUrl(int $page): string
48
    {
49
        return '/fake/' . $page;
50
    }
51
}
52

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.