AbstractPaginator implements PaginatorInterface
Table of Contents
Interfaces
- PaginatorInterface
- An interface that defines methods needed to implement a paginator, i.e. an object that handles a set of items and returns a sub set of items, given by a configuration.
Properties
- $keyOfFirstPaginatedItem : int
- $keyOfLastPaginatedItem : int
- $numberOfPages : int
Methods
- getCurrentPageNumber() : int
- Returns the current page number
- getKeyOfFirstPaginatedItem() : int
- Returns the key of the first paginated item
- getKeyOfLastPaginatedItem() : int
- Returns the key of the last paginated item
- getNumberOfPages() : int
- Returns the total number of pages, given the total number of non paginated items and the items per page configuration
- withCurrentPageNumber() : PaginatorInterface
- Sets the current page to calculate paginated items for
- withItemsPerPage() : PaginatorInterface
- Sets the amount of paginated items per page
- getAmountOfItemsOnCurrentPage() : int
- Must return the amount of paginated items on the current page
- getTotalAmountOfItems() : int
- Must return the total amount of all unpaginated items
- hasItemsOnCurrentPage() : bool
- States whether there are items on the current page
- setCurrentPageNumber() : void
- setItemsPerPage() : void
- updateInternalState() : void
- This method is the heart of the pagination. It updates all internal params and then calls the {@see updatePaginatedItems} method which must update the set of paginated items.
- updatePaginatedItems() : void
- Must update the paginated items, i.e. the subset of all items, limited and defined by the given amount of items per page and offset
Properties
$keyOfFirstPaginatedItem
protected
int
$keyOfFirstPaginatedItem
= 0
$keyOfLastPaginatedItem
protected
int
$keyOfLastPaginatedItem
= 0
$numberOfPages
protected
int
$numberOfPages
= 1
Methods
getCurrentPageNumber()
Returns the current page number
public
getCurrentPageNumber() : int
Return values
intgetKeyOfFirstPaginatedItem()
Returns the key of the first paginated item
public
getKeyOfFirstPaginatedItem() : int
This is useful to display the exact range of items that are available via getPaginatedItems
Return values
intgetKeyOfLastPaginatedItem()
Returns the key of the last paginated item
public
getKeyOfLastPaginatedItem() : int
This is useful to display the exact range of items that are available via getPaginatedItems
Return values
intgetNumberOfPages()
Returns the total number of pages, given the total number of non paginated items and the items per page configuration
public
getNumberOfPages() : int
Return values
intwithCurrentPageNumber()
Sets the current page to calculate paginated items for
public
withCurrentPageNumber(int $currentPageNumber) : PaginatorInterface
Must return a new instance of the Paginator with an updated internal state
Parameters
- $currentPageNumber : int
Return values
PaginatorInterfacewithItemsPerPage()
Sets the amount of paginated items per page
public
withItemsPerPage(int $itemsPerPage) : PaginatorInterface
Must return a new instance of the Paginator with an updated internal state
Parameters
- $itemsPerPage : int
Return values
PaginatorInterfacegetAmountOfItemsOnCurrentPage()
Must return the amount of paginated items on the current page
protected
abstract getAmountOfItemsOnCurrentPage() : int
Return values
intgetTotalAmountOfItems()
Must return the total amount of all unpaginated items
protected
abstract getTotalAmountOfItems() : int
Return values
inthasItemsOnCurrentPage()
States whether there are items on the current page
protected
hasItemsOnCurrentPage() : bool
Return values
boolsetCurrentPageNumber()
protected
setCurrentPageNumber(int $currentPageNumber) : void
Parameters
- $currentPageNumber : int
setItemsPerPage()
protected
setItemsPerPage(int $itemsPerPage) : void
Parameters
- $itemsPerPage : int
updateInternalState()
This method is the heart of the pagination. It updates all internal params and then calls the {@see updatePaginatedItems} method which must update the set of paginated items.
protected
updateInternalState() : void
updatePaginatedItems()
Must update the paginated items, i.e. the subset of all items, limited and defined by the given amount of items per page and offset
protected
abstract updatePaginatedItems(int $itemsPerPage, int $offset) : void
Parameters
- $itemsPerPage : int
- $offset : int