php-pagination / php-pagination
PHP 分页类,包含 4 种类型:简单分页、谷歌分页、Digg/PHPBB 分页样式。
2.0.1
2017-06-27 19:18 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: 5.5.*
This package is auto-updated.
Last update: 2024-09-29 04:49:20 UTC
README
具有 4 种不同页面类型的 PHP 分页类
简单分页:
创建类似于谷歌的简单分页。PHPBB/Digg 分页:
与 PHPBB CMS/Digg 相同样式的分页。除了正常页面外,还有标记到最后页面和主页。跳跃分页:
标记在某个值之后“跳跃”的分页,例如:每 10 个页面标记显示从 1 到 10 - 11 到 20 - 21 到 30 等等。谷歌分页:
PHP 分页与谷歌用于显示搜索结果的分页相同。
请参阅示例文件夹以轻松使用此类。
特性
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 的 ArrayInterator 和 ArrayObject。