muhammetsafak / php-pagination
PHP 分页类
0.1
2022-04-23 03:55 UTC
Requires
- php: >=7.4
README
PHP 分页类
安装
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 许可 分发。