PHP code example of ucscode / easy-paginator

1. Go to this page and download the library: Download ucscode/easy-paginator library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ucscode / easy-paginator example snippets


use Ucscode\Paginator\Paginator;

$paginator = new Paginator(
    totalItems: 100,       // Total number of items
    itemsPerPage: 10,      // Items per page
    currentPage: 3,        // Current page
    urlPattern: '?page=(:num)' // URL pattern with placeholder
);

$paginator->getTotalPages();   // Total number of pages
$paginator->getCurrentPage();  // Current page number
$paginator->getNextPage();     // Next page number or null if last page
$paginator->getPrevPage();     // Previous page number or null if first page

$paginator->getPageUrl(5); // Returns '?page=5'
$paginator->getNextUrl();  // URL for the next page
$paginator->getPrevUrl();  // URL for the previous page

$builder = $paginator->getBuilder();

$builder->getPrevItem(); // Item|null

foreach ($builder->getItems() as $item) {
    echo <<<HTML
        <li class="{$item->isActive() ? 'active' : ''}">
            <a href="{$item->getUrl()}" class="">
                {$item->getContent()}
            </a>
        </li>
    HTML;
}

$builder->getNextItem(); // Item|null

[
    new Item(), 
    new Item(),
    new Item(), 
]

class Item {
    protected ?string $url = null;
    protected bool $active = false;
    protected int $pageNumber = 0;
    protected string|NodeInterface $content = '';
}

$builder = $paginator->getBuilder();

echo $builder->render();

$navElement = $builder->createElement();

$navElement->getClassList()->add('my-nav-class');
$navElement->setAttribute('data-name', 'pagination');

$ulElement = $navElement->querySelector('ul.pagination');

$ulElement->setAttribute('id', 'nav-id')