2017 © Pedro Peláez
 

library paginator

分页组件

image

delz/paginator

分页组件

  • Monday, November 13, 2017
  • by sheawey
  • Repository
  • 1 Watchers
  • 0 Stars
  • 113 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 14 % Grown

The README.md

分页组件

提供分页设计结构,包括两个接口:, (*1)

(1)Delz\Paginator\Contract\IPager 分页接口, (*2)

(2)Delz\Paginator\Contract\IPagerAdapter 分页适配器接口, (*3)

Delz\Paginator\Contract\IPager接口在组件内Delz\Paginator\Pager类已经实现, (*4)

您可以根据所用框架实现Delz\Paginator\Contract\IPagerAdapter接口实现以下两个方法:, (*5)

getResults($offset, $limit); //返回数据集, (*6)

count(); //获取记录条数, (*7)

然后将适配器注入到Pager对象,即可获取分页数据, (*8)

下面是演示代码:, (*9)


<?php //此文件实现适配器SimpleAdapter namespace Example; use Delz\Paginator\Contract\IPagerAdapter; class SimpleAdapter implements IPagerAdapter { /** * 数据集数组 * * @var array */ protected $array = []; /** * 构造方法 * * @param array $array */ public function __construct(array $array = []) { $this->array = $array; } /** * {@inheritdoc} */ public function getResults($offset, $limit) { return array_slice($this->array, $offset, $limit); } /** * {@inheritdoc} */ public function count() { return count($this->array); } }
<?php
//此文件演示如何用SimpleAdapter获取分页数据

use Example\SimpleAdapter;
use Delz\Paginator\Pager;

//自动加载类的代码此处省略

//生成一个数据集
$data = [];
for($i=0; $i<1000; $i++) {
    $data[] = $i;
}

$simple = new SimpleAdapter($data);

$pager = new Pager($simple);

//获取当前分页数据
print_r($pager->getResults());

//获取数据条目
echo $pager->getTotalCount();

//获取分页数
echo $pager->getPageCount();

//默认页面是第一页,修改当前页面,重新获取分页数据,第一页的编码是1
$pager->setPage(2);
print_r($pager->getResults());

//获取第一页和最后一页页码
echo $pager->getFirstPage();
echo $pager->getLastPage();

//判断是否第一页或者最后一页
echo $pager->isFirstPage();
echo $pager->isLastPage();

//判断是否需要分页,不超过一页说明不要分页
echo $pager->isPaginable();

//获取上一页和下一页页码
echo $pager->getPrePage();
echo $pager->getNextPage();

//获取和设置最多页面显示,并且显示页码
//说明:总页数是100,当前页是50,把页面显示的时候不可能把所有页面显示出来,默认maxPages=10,就会显示46,47,48,49,50,51,52,53,54,55
echo $pager->getMaxPages(); //获取最多页面显示
$pager->setMaxPages(20); //设置最多页数
print_r($pager->getPages()); //获取分页数数组

//设置和获取每页显示记录数,默认是20
echo $pager->getPageSize();
$pager->setPageSize(10);

The Versions

13/11 2017

dev-master

9999999-dev

分页组件

  Sources   Download

MIT

The Requires

  • php >=7.0.0

 

by 徐威