muhammetsafak/php-pagination

0.1 2022-04-23 03:55 UTC

This package is auto-updated.

Last update: 2024-09-24 11:52:28 UTC


README

PHP 分页类

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

安装

composer require muhammetsafak/php-pagination

方法

__construct()

类的构造方法。

public function __construct(int $page, int $totalRow, int $perPageLimit = 10, string $linkTemplate = '?page={page}')
  • $page : 当前页面
  • $totalRow : 总行数/内容数量
  • $perPageLimit : 每页显示的行数/内容数量
  • $linkTemplate : 定义页面的链接模板。

getPage()

返回当前页面。

public function getPage(): int

getLimit()

返回每页显示的内容/行数。

public function getLimit(): int

getOffset()

返回当前页的最后行数/内容数量。

public function getOffset(): int

linkTemplate()

定义链接模板。

public function linkTemplate(string $template): self

setPerPageLimit()

定义每页显示的行数/内容数量。

public function setPerPageLimit(int $perPageLimit = 10): self

setTotalRow()

定义总行数/内容数量。

public function setTotalRow(int $totalRow = 0): self

setHowDisplayedPage()

定义显示的总页数。

public function setHowDisplayedPage(int $howDisplayedPage = 8): self
  • $howDisplayedPage : 一个数字对。

getPagination()

返回一个数组,可以创建分页的 HTML。

public function getPagination(): array

返回的数组类似于以下内容;

array(
    array(
        'url' => 'http://example.com/page/1',
        'page => 1,
        'active' => false
    ),
    array(
        'url' => 'http://example.com/page/2',
        'page => 2,
        'active' => true
    ),
    array(
        'url' => 'http://example.com/page/3',
        'page => 3,
        'active' => false
    )
);

nextPage()

如果有下一页,返回包含下一页 URL 的数组。如果没有,则返回 NULL

public function nextPage(): array|null

返回的数组类似于以下内容;

[
    'url'   => 'http://example.com/?page=4',
    'page'  => 4,
];

prevPage()

如果有上一页,返回包含上一页 URL 的数组。如果没有,则返回 NULL

public function prevPage(): array|null

返回的数组类似于以下内容;

[
    'url'   => 'http://example.com/?page=3',
    'page'  => 3,
];

showPagination()

为 Bootstrap 5 创建并返回兼容的 pagination。

public function showPagination(array $configs = []): string

$configs 数组可以包含以下元素;

  • ul_class : 添加到 ul HTML 标签的 class 字符串。
  • li_class : 添加到 li HTML 标签的 class 字符串。
  • prev_display : 是否添加上一页项的布尔值。默认为 true
  • next_display : 是否添加下一页项的布尔值。默认为 true
  • prev_li_class : 添加到上一页项的 class 字符串。
  • next_li_class : 添加到下一页项的 class 字符串。
  • prev_text : 上一页项中显示的字符串。默认为 "Previous"
  • next_text : 下一页项中显示的字符串。默认为 "Next"

用法

$pagination = new \MuhammetSafak\Pagination\Pagination(1, 100, 10, 'https://www.example.com/page/{page}');

许可

此库由 Muhammet ŞAFAK 开发,并附带 MIT 许可 分发。