1. Go to this page and download the library: Download beberlei/porpaginas 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/ */
beberlei / porpaginas example snippets
namespace Porpaginas;
interface Result extends Countable, IteratorAggregate
{
/**
* @param int $offset
* @param int $limit
* @return Page
*/
public function take($offset, $limit);
/**
* Return the number of all results in the paginatable.
*
* @return int
*/
public function count();
/**
* Return an iterator over all results of the paginatable.
*
* @return Iterator
*/
public function getIterator();
}
namespace Porpaginas;
interface Page extends Countable, IteratorAggregate
{
/**
* Return the number of results on the current page.
* @return int
*/
public function count();
/**
* Return the number of ALL results in the paginatable.
* @return int
*/
public function totalCount();
/**
* Return an iterator over selected windows of results of the paginatable.
*
* @return Iterator
*/
public function getIterator();
}
class UserRepository extends EntityRepository
{
/**
* @return \Porpaginas\Result
*/
public function findAllUsers()
{
$qb = $this->createQueryBuilder('u')->orderBy('u.username');
return new ORMQueryResult($qb);
}
}
class UserController
{
/**
* @var UserRepository
*/
private $userRepository;
public function listAction(Request $request)
{
$result = $this->userRepository->findAllUsers();
// no filtering by page, iterate full result
return array('users' => $result);
}
public function porpaginasListAction(Request $request)
{
$result = $this->userRepository->findAllUsers();
$paginator = $result->take(($request->get('page')-1) * 20, 20);
return array('users' => $paginator);
}
}
php
$pager = Porpaginas\Pager::fromPage($page);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.