Skip to content

alexandresalome/pagination

Repository files navigation

Pagination

Build status

Requirements: PHP 5.3

DEPRECATED: this library is deprecated. It is recommended to use pagerfanta.

Personal library used to paginate stuff.

Create a pager

To paginate something:

$pager = new Pager(new ArrayAdapter($array));

Pager object

// Change position
$pager->setOffset(30);
$pager->setLimit(10);
$pager->setPerPage(20);
$pager->setPage(3);

// Inspect
$pager->getPageCount(); // can be zero
$pager->getPage();
$pager->getPerPage();
$pager->getOffset();
$pager->isFirstPage();
$pager->isLastPage();

foreach ($pager as $element) {
    echo $element;
}

Create your own adapter

If you want to paginate something, just create an adapter for it:

interface AdapterInterface
{
    public function get($offset, $limit);
    public function count();
}

Adapters

// Paginate an array
$array = range(1, 1000);
$pager = new Pager(new ArrayAdapter($array));

// Paginate a git log
$log = $repository->getLog(); // see gitonomy/gitlib
$pager = new Pager(new GitlibLogAdapter($log));