实用的简单PHP分页集合包括使用方法攻略
简介
分页是 Web 开发中很常见的功能,使用合适的工具可以大大简化分页实现的难度。本攻略介绍一个简单易用的 PHP 分页库 php-paginator
,它提供了完整的分页实现和多种显示模板,支持自定义显示模板,可无缝集成到 PHP 项目中。
安装和使用
安装
使用 composer
安装最新版的 php-paginator
:
composer require liuhelong/php-paginator
示例 1:基本使用
require_once './vendor/autoload.php';
use liuhelong\Paginator\Paginator;
$data = range(1, 100); // 构造数据
$perPage = 10; // 每页显示数量
$paginator = new Paginator(count($data), $perPage);
$start = $paginator->getStart();
$end = $paginator->getEnd();
$currentPage = $paginator->getCurrentPage();
$pageData = array_slice($data, $start, $end - $start);
// 渲染页面,使用默认模板
echo $paginator->render();
foreach ($pageData as $value) {
echo $value . '<br />';
}
上述代码演示了 php-paginator
的基本使用方法:
- 构造数据
- 创建
Paginator
对象,传入总数量和每页显示数量 - 调用
$paginator->getStart()
和$paginator->getEnd()
计算起止位置 - 调用
$paginator->getCurrentPgae()
获取当前页码 - 使用
array_slice()
获取当前页的数据 - 使用
$paginator->render()
渲染分页导航 - 使用
foreach
循环输出当前页数据
示例 2:使用自定义模板
// 模板文件 tpl/pagination.tpl.php
<a href="<?php echo $firstUrl; ?>">第一页</a>
<a href="<?php echo $prevUrl; ?>">上一页</a>
<?php foreach ($pages as $page) : ?>
<?php if ($page['url'] == $currentUrl) : ?>
<b><?php echo $page['num']; ?></b>
<?php else : ?>
<a href="<?php echo $page['url']; ?>"><?php echo $page['num']; ?></a>
<?php endif; ?>
<?php endforeach; ?>
<a href="<?php echo $nextUrl; ?>">下一页</a>
<a href="<?php echo $lastUrl; ?>">最后一页</a>
// 代码文件
require_once './vendor/autoload.php';
use liuhelong\Paginator\Paginator;
use liuhelong\Paginator\PaginatorConfig;
$data = range(1, 100); // 构造数据
$perPage = 10; // 每页显示数量
$config = new PaginatorConfig();
$config->setTemplatePath('./tpl/pagination.tpl.php'); // 设置自定义模板
$paginator = new Paginator(count($data), $perPage, $config);
$start = $paginator->getStart();
$end = $paginator->getEnd();
$currentPage = $paginator->getCurrentPage();
$pageData = array_slice($data, $start, $end - $start);
// 渲染页面,使用自定义模板
echo $paginator->render();
foreach ($pageData as $value) {
echo $value . '<br />';
}
上面的代码展示了如何使用自定义模板:
- 创建
PaginatorConfig
对象 - 调用
$config->setTemplatePath()
方法设置模板路径 - 在模板文件中使用
$firstUrl
、$prevUrl
、$pages
、$nextUrl
、$lastUrl
、$currentUrl
等变量渲染分页导航。其中,$pages
变量是一个数组,表示所有页面的信息。
结语
php-paginator
是一个非常实用的 PHP 分页库,它提供了完整的分页实现和多种显示模板,使用起来非常方便,完全可以无缝集成到你的 PHP 项目中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:实用的简单PHP分页集合包括使用方法 - Python技术站