EonX - EasyPagination
Provides a generic way to handle pagination data from clients.
You are wondering if this package could be useful to you, right? Here are some points to help you find out:
- You have an PHP application
- You have to handle pagination data from your clients
- You are sick of having to resolve the "page" and "perPage" (or however you want to call those parameters) again and again
- Or sick of hearing "The pagination doesn't work for the blog posts comments" and realise you have a typo in "parPage"
- ...
This package provides you with out-the-box tools to implement a generic, centralised and consistent pagination data handling system to keep you away from any troubles 😃
# Documentation
# Installation
The recommended way to install this package is to use Composer (opens new window).
$ composer require eonx-com/easy-pagination
# How it works
This package provides different "resolvers" which will extract the pagination data from a request according to your configuration. To guarantee interoperability, the resolvers expect a PSR7 ServerRequestInterface (opens new window), if your project uses it too then perfect!
# Resolvers
Can't you find your happiness in the existing resolvers? Please let us know or even better create a PR 😃
# StartSize Resolvers
The "StartSize" resolvers assume your pagination is based on only 2 attributes to define the start and its size. What
are those attributes names or default values? This is up to you!
A StartSizeConfigInterface
(and its default implementation) is here for you to define all that as you want.
Here are some examples of configuration you can have:
start_attributes | start_default | size_attribute | size_default |
---|---|---|---|
page | 1 | perPage | 15 |
_page | 1 | _per_page | 15 |
number | 1 | size | 15 |
offset | 0 | limit | 30 |