本文整理汇总了PHP中Zend\Paginator\Paginator::getItemsByPage方法的典型用法代码示例。如果您正苦于以下问题:PHP Paginator::getItemsByPage方法的具体用法?PHP Paginator::getItemsByPage怎么用?PHP Paginator::getItemsByPage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Paginator\Paginator
的用法示例。
在下文中一共展示了Paginator::getItemsByPage方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: prepareEntries
/**
* @return EntryView[]
*/
private function prepareEntries(int $page, Paginator $posts) : array
{
return array_map(function ($post) {
$post['uriHelper'] = $this->uriHelper;
return new EntryView($post);
}, iterator_to_array($posts->getItemsByPage($page)));
}
示例2: testExpectedBehaviour
public function testExpectedBehaviour()
{
$form = $this->api->forms()->pagination->ref($this->api->master())->orderings('[my.pager-test-doc.priority]');
$adapter = new SearchFormAdapter($form);
$pager = new Paginator($adapter);
$pager->setCurrentPageNumber(1);
$pager->setItemCountPerPage(4);
$items = $pager->getItemsByPage(1);
$this->assertCount(4, $items);
$this->assertContainsOnlyInstancesOf('Prismic\\Document', $items);
$this->assertEquals(10, $items[0]->get('pager-test-doc.priority')->asText());
$this->assertEquals(20, $items[1]->get('pager-test-doc.priority')->asText());
$this->assertEquals(30, $items[2]->get('pager-test-doc.priority')->asText());
$this->assertEquals(40, $items[3]->get('pager-test-doc.priority')->asText());
$items = $pager->getItemsByPage(2);
$this->assertCount(2, $items);
$this->assertContainsOnlyInstancesOf('Prismic\\Document', $items);
$this->assertEquals(50, $items[0]->get('pager-test-doc.priority')->asText());
$this->assertEquals(60, $items[1]->get('pager-test-doc.priority')->asText());
}
示例3: getItemsByPage
public function getItemsByPage($pageNumber)
{
$items = parent::getItemsByPage($pageNumber);
foreach ($items as $key => $item) {
$entity = new $this->entity();
$entity->exchangeArray($item);
// TODO: Implement Hydrator
//$this->hydrator->hydrate($item, $this->entity);
$items[$key] = $entity;
}
return $items;
}
示例4: testCacheDoesNotDisturbResultsWhenChangingParam
public function testCacheDoesNotDisturbResultsWhenChangingParam()
{
$this->paginator->setCurrentPageNumber(1)->getCurrentItems();
$pageItems = $this->paginator->setItemCountPerPage(5)->getCurrentItems();
$expected = new \ArrayIterator(range(1, 5));
$this->assertEquals($expected, $pageItems);
$pageItems = $this->paginator->getItemsByPage(2);
$expected = new \ArrayIterator(range(6, 10));
$this->assertEquals($expected, $pageItems);
// change the inside Paginator scale
$pageItems = $this->paginator->setItemCountPerPage(8)->setCurrentPageNumber(3)->getCurrentItems();
$pageItems = $this->paginator->getPageItemCache();
$expected = new \ArrayIterator(range(17, 24));
$this->assertEquals($expected, $pageItems[3]);
// get back to already cached data
$this->paginator->setItemCountPerPage(5);
$pageItems = $this->paginator->getPageItemCache();
$expected = array(1 => new \ArrayIterator(range(1, 5)), 2 => new \ArrayIterator(range(6, 10)));
$this->assertEquals($expected[1], $pageItems[1]);
$this->assertEquals($expected[2], $pageItems[2]);
}
示例5: fetchAllJobs
/**
*
* {@inheritdoc}
*
* @see \ImmutableStateStatusTracker\StorageAdapterInterface::fetchAllJobs()
*/
public function fetchAllJobs($pageNum = 1)
{
/**
*
* @var QueryBuilder $qb
*/
$qb = $this->_em->createQueryBuilder();
$query = $qb->select('dj')->from('\\ImmutableStateStatusTracker\\StorageAdapter\\Doctrine\\Job', 'dj');
// $qb->setHydrationMode('\Doctrine\ORM\Query::HYDRATE_ARRAY');
$adapter = new DoctrineAdapter(new ORMPaginator($query));
$paginator = new Paginator($adapter);
$paginator->setItemCountPerPage(50);
$callBackAdapter = new Callback(function ($offset, $itemCountPerPage) use($paginator) {
$arrOut = array();
foreach ($paginator->getItemsByPage($offset) as $obj) {
$arrOut[] = new Job($obj->getJobId(), $obj->getComponents(), $obj->getCreatedAt());
}
return $arrOut;
}, function () use($paginator) {
return $paginator->getTotalItemCount();
});
$jobPaginator = new Paginator($callBackAdapter);
$jobPaginator->setItemCountPerPage(50);
return $jobPaginator;
}