andrianzubko / sfw-paginator
此包已被废弃且不再维护。未建议替代包。
SFW 分页器
0.1.4
2023-11-06 14:17 UTC
Requires
- php: ^8.2
README
此类用于组织某些数据的多页导航。主要用于在网站上构建多页导航面板。
安装
composer require andrianzubko/sfw-paginator
用法
// Making all calculations and storing results at class properties. // // All arguments are required and must contain only integer numbers. $pg = new \SFW\Paginator( $totalEntries, // total number of entries (>= 1) $entriesPerPage, // number of entries per page (>= 1) $pagesPerSet, // number of pages per set (>= 1) $currentPage // current number of page ); // Get some property $pg->totalEntries; // or get all in array with keys in snake case $pg->toArray()['total_entries'];
属性
切片参数
-
$pg->startOfSlice - 切片起始位置 (>= 0)
-
$pg->endOfSlice - 切片结束位置 (>= 0)
-
$pg->lengthOfSlice - 切片长度 (>= 1)
统计
-
$pg->totalEntries - 总条目数 (>= 1) (从参数复制而来)
-
$pg->entriesPerPage - 每页条目数 (>= 1) (从参数复制而来)
-
$pg->pagesPerSet - 每组页数 (>= 1) (从参数复制而来)
页面控制
-
$pg->totalPages - 总页数 (>= 1)
-
$pg->currentPage - 当前页数 (>= 1) (已修正)
-
$pg->prevPage - 上一页数 (>= 1 或 false)
-
$pg->nextPage - 下一页数 (>= 1 或 false)
页面组控制
-
$pg->startOfSet - 当前组的起始位置 (>= 1)
-
$pg->endOfSet - 当前组的结束位置 (>= 1)
-
$pg->pageOfPrevSet - 前一组的最近页面数 (>= 1 或 false)
-
$pg->pageOfNextSet - 后一组的最近页面数 (>= 1 或 false)
-
$pg->numbersOfSet - 组数(数组中的一个或多个数字)
示例
简单
<-- previous page | next page -->
/ \
$pg->prevPage $pg->nextPage
高级
$pg->currentPage
|
$pg->prevPage | $pg->nextPage
\ | /
<< < 6 [7] 8 9 10 > >>
/ / \ \
$pg->pageOfPrevSet / \ $pg->pageOfNextSet
/ \
$pg->startOfSet $pg->endOfSet
| |
[ $pg->numbersOfSet ]
统计
$pg->totalPages
/ $pg->totalEntries
Total pages: 20 /
Total records: 200
Shown from 61 to 70 records
\ \
\ $pg->startOfSlice + 1
$pg->endOfSlice + 1
注意
-
检查是否需要显示导航面板的最简单方法是检查 $pg->totalPages 属性。只有当此属性 >1 时才需要。
-
在使用之前,必须检查 $pg->prevPage、$pg->nextPage、$pg->pageOfPrevSet 和 $pg->pageOfNextSet 属性的 false 值。