php-pagination/php-pagination

PHP 分页类,包含 4 种类型:简单分页、谷歌分页、Digg/PHPBB 分页样式。

2.0.1 2017-06-27 19:18 UTC

This package is auto-updated.

Last update: 2024-09-29 04:49:20 UTC


README

具有 4 种不同页面类型的 PHP 分页类

  • 简单分页: 创建类似于谷歌的简单分页。 simple
  • PHPBB/Digg 分页: 与 PHPBB CMS/Digg 相同样式的分页。除了正常页面外,还有标记到最后页面和主页。 phpbb
  • 跳跃分页: 标记在某个值之后“跳跃”的分页,例如:每 10 个页面标记显示从 1 到 10 - 11 到 20 - 21 到 30 等等。 jumping
  • 谷歌分页: PHP 分页与谷歌用于显示搜索结果的分页相同。 google

请参阅示例文件夹以轻松使用此类。

Latest Stable Version Total Downloads Latest Unstable Version Monthly Downloads

Donate

特性

  • v2.0.1 增加了用于获取 SQL 语句开始的的方法。
  • v2.0.0 方法进行了重构,添加了单元测试、示例和设计模式。

重要信息

  • 您需要 PHP 7.0 或更高版本才能使用此类。

  • 我使用了策略模式来创建不同的分页类型。我将示例放在了示例文件夹中。此分页只返回一个 PHP ArrayObject,因此您可以创建所需的布局部分。

  • 分页始终返回第一页、最后一页、上一页、下一页、包含总页数的 ArrayObject、前进或后退一定数量的页面的 2 个方法,以及最终包含按照所选分页样式逻辑排列的标记的另一个 ArrayObject。

  • 这是一个免费项目,您可以在您的项目中自由使用它,即使是商业项目。您也可以贡献提示、新功能和修复。

使用示例

要使用此类,您必须遵循以下代码。不要忘记访问存储库中的示例文件夹,其中包含每种页面类型的用法示例。还可以访问rafaacademy.com,获取有关 PHP 及此类使用的提示和教程。

安装:composer require php-pagination/php-pagination

<?php
require '../vendor/autoload.php';
use Pagination\Pagination;
use Pagination\StrategySimple;

if ( isset($_GET['page']) && is_numeric($_GET['page']) )
$page = $_GET['page'];
else 
$page = 1;

//use pagination class with results, per page and page
$pagination = new Pagination(1000, 10, $page);
//get first page
$pagination->getFirstPage();
//get last page
$pagination->getLastPage();
//get previous page
$pagination->getPreviousPage();
//get next page
$pagination->getNextPage();
//get all indexes
$all = $pagination->getAllIndexesOfPages();
$iteratorAll = $all->getIterator();
//get indexes in page stylized
$indexes = $pagination->getIndexes(new StrategySimple(15));
$iterator = $indexes->getIterator();

//get start for sql queries (optional - Note: This paging does not use a bank connection)
$pagination->getStartForSqlQueries();

要在索引之间导航,您需要了解如何使用 PHP 的 ArrayInteratorArrayObject