Skip to content

Pagination library for various list types in PHP.

Notifications You must be signed in to change notification settings

shano/paginator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Paginator

Pagination library for various list types in PHP.

Supported List Types

  • PHP Arrays
  • PHP ArrayObjects
  • Illuminate Collections (for Laravel)

Usage

<?php

use Paginator\Adapters\InputAdapterCollection;
use Paginator\Paginator;

$list = new InputAdapterCollection(
    new \ArrayObject(['alpha', 'beta', 'gamma', 'delta'])
);

$elementsPerPage = 2;
$page = 1;

$pagination = (new Paginator($list, $elementsPerPage))->paginate($page)->elements();
// Returns \ArrayObject(['gamma', 'delta']));

?>

Installation

composer require shano/paginator

Running Unit Tests

git clone https://github.com/shano/paginator
cd paginator
composer install --dev
php vendor/bin/phpunit
php vendor/bin/phpunit  --coverage-text

TODOS

  • Better exception handling, right now it only exposes the underlying errors rather than errors that maintain the pagination level of abstraction.
  • Right now anything requested outside the allowable pagination just returns empty, should that also errors?
  • Better structure to unit tests
  • How collections are sliced needs improving

About

Pagination library for various list types in PHP.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages