唤醒/分页器

轻量级的PHP分页器。

v0.1.4.1 2022-01-06 03:04 UTC

This package is auto-updated.

Last update: 2024-09-05 14:27:56 UTC


README

轻量级的PHP分页器。

安装

在您的 composer.json 中添加以下依赖项

{
  "require": {
    "wake/pager": "*"
  }
}

或使用composer

$ composer require wake/pager:*

然后运行 composer installcomposer update

用法:分页器

使用分页器而不需要任何ORM。

Use Pager\Pager;

$pager = new Pager ();

$pager->total (1000) // 1000 data items
  ->page (13)        // Set current page to no.13
  ->paging ();

// First page: 1
echo $pager->pages->top;

// Last page (total pages): 67
echo $pager->pages->end;

// First page of page group: 8
echo $page->pages->first;

// Last page of page group: 17
echo $page->pages->last;

// Next page: 14
echo $page->pages->next;

// Next 10 page: 24
echo $page->pages->next10;

// Pages
foreach ($pager->pages as $page)
  echo $page . "<br />";

// Page url
foreach ($pager->pages as $page)
  echo $page->url . "<br />";

$pager->show ($show)

设置每页的项目数量,默认为 15

// Display 12 items on each page.
$pager->show (12);

$pager->total ($total)

设置项目总数。

// Set total amount of 100.
$pager->total (100);

$pager->size ($size)

设置每页的页码列表数量,默认为 10

// Display 5 pages of page group on each page - `1 2 3 4 5`
$pager->size (5);

$pager->page ($page)

设置当前页,默认为 1

// Set current to page 3
$pager->page (3);

$pager->dynamic (), $pager->fixed ()

动态或固定地列出页码组页面,默认是 dynamic

// List dynamically: `1 2 3 4 5` -> `2 3 4 5 6` -> `3 4 5 6 7`
$pager->dynamic ();

// List fixed: `1 2 3 4 5` -> `6 7 8 9 10`
$pager->fixed ();

$pager->url ($pattern)

设置URL模式或处理器函数,默认是模式 (:num)

// /?page=3
$pager->url ('/?page=(:num)');

// /?p=3
$pager->url (function ($pageItem) {
  return '/?p=' . $pageItem->num;
});

$pager->paging ()

计算并构建页面项目,必须在设置所有选项后调用。

$pager->paging ();

用法:页面

页面项目的容器。

Use Pager\Pager;

$pager = new Pager ();

$pager->total (1000) // 1000 data items
  ->page (13)        // current page is no.13
  ->paging ();

$pages = $pager->pages;

$pages->top

所有页面的第一页,通常为1。

$pages->end

所有页面的最后一页。

$pages->first

页码组的起始页。

$pages->last

页码组的结束页。

$pages->total

总页数。

$pages->current, $pages->page

当前页。

$pages->next

下一页。

$pages->prev

上一页。

$pages->next*N

下一页 N

// Next page
$pages->next;
$pages->next1;

// Next 5 page
$pages->next5;

$pages->prev*N

上一页 N

// Previous page
$pages->prev;
$pages->prev1;

// Previous 5 page
$pages->prev5;

用法:页面项目

页面项目。

Use Pager\Pager;

$pager = new Pager ();

$pager->total (1000) // 1000 data items
  ->page (13)        // current page is no.13
  ->paging ();

$item = $pager->pages->first;

$item, $item->num

页面编号,$item可以作为字符串直接使用。

echo $item;
echo $item->num;

$item->url ()

页面的URL。

echo $item->url ();

反馈

请随时提出问题并告诉我您的想法或疑问 😃

许可协议

在MIT许可下发布