<?php use SugiPHP\Pagination\Pagination; include "../vendor/autoload.php"; include "Bootstrap3.php"; $pagination = new Pagination(); $pagination->setTotalItems(105)->setProximity(2)->setItemsPerPage(10); // same as setLimit() ?> <html> <head> <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet" /> <style> body { max-width: 580px; margin: 20px auto; } </style> </head> <body> <h3>Bootstrap3 Pagination</h3> <?php echo Bootstrap3::renderPagination($pagination->toArray()); ?> <h3>Bootstrap3 Pager</h3> <?php echo Bootstrap3::renderPager($pagination->toArray()); ?> <h3>Bootstrap3 Aligned Pager</h3> <?php echo Bootstrap3::renderAlignedPager($pagination->toArray());
public function testRealExample() { $pagination = new Pagination(); $pagination->setTotalItems(105)->setItemsPerPage(10)->setUri("/posts?page=5"); $this->assertSame(5, $pagination->getPage()); $this->assertSame(11, $pagination->getTotalPages()); $pages = $pagination->toArray(); // always should have "prev" and "next" $this->assertArrayHasKey("prev", $pages); $this->assertArrayHasKey("next", $pages); // previous | first | 4 before | selected | 4 after | last | next $this->assertSame(13, count($pages)); // Test with proximity 3 $pagination->setProximity(3); $pages = $pagination->toArray(); $this->assertSame(11, count($pages)); // Test with proximity 2 $pagination->setProximity(2); $pages = $pagination->toArray(); $this->assertSame(9, count($pages)); // Test with proximity 1 $pagination->setProximity(1); $pages = $pagination->toArray(); $this->assertSame(7, count($pages)); // Test with proximity 0 // previous | first | current | last | next $pagination->setProximity(0); $pages = $pagination->toArray(); $this->assertSame(5, count($pages)); }