Copied!

Response object for paged results from a list API method

The PagedListResponse object is returned by API methods that implement pagination, and makes it easier to access multiple pages of results without having to manually manipulate page tokens. Pages are retrieved lazily, with additional API calls being made as additional results are required.

The list elements can be accessed in the following ways:

  • As a single iterable used in a foreach loop or via the getIterator method
  • As pages of elements, using the getPage and iteratePages methods
  • As fixed size collections of elements, using the getFixedSizeCollection and iterateFixedSizeCollections methods

Example of using PagedListResponse as an iterator:

$pagedListResponse = $client->getList(...);
foreach ($pagedListResponse as $element) {
    // doSomethingWith($element);
}

Example of iterating over each page of elements:

$pagedListResponse = $client->getList(...);
foreach ($pagedListResponse->iteratePages() as $page) {
    foreach ($page as $element) {
        // doSomethingWith($element);
    }
}

Example of accessing the current page, and manually iterating over pages:

$pagedListResponse = $client->getList(...);
$page = $pagedListResponse->getPage();
// doSomethingWith($page);
while ($page->hasNextPage()) {
    $page = $page->getNextPage();
    // doSomethingWith($page);
}
CloneableInstantiableIterable
Methods
public __construct(Google\ApiCore\Page $firstPage)
 

PagedListResponse constructor.

  • param \Page $firstPage A page containing response details.
public expandToFixedSizeCollection(int $collectionSize)
 

Returns a collection of elements with a fixed size set by the collectionSize parameter. The collection will only contain fewer than collectionSize elements if there are no more pages to be retrieved from the server.

NOTE: it is an error to call this method if an optional parameter to set the page size is not supported or has not been set in the original API call. It is also an error if the collectionSize parameter is less than the page size that has been set.

  • param int $collectionSize
  • throws \ValidationException if a FixedSizeCollection of the specified size cannot be constructed
  • return \FixedSizeCollection
public getIterator()
 

Returns an iterator over the full list of elements. If the API response contains a (non-empty) next page token, then the PagedListResponse object will make calls to the underlying API to retrieve additional elements as required.

  • return \Generator
  • throws \ValidationException
  • attribute ReturnTypeWillChange
public getPage()
 

Return the current page of results.

  • return \Page
public iterateAllElements()
 

Returns an iterator over the full list of elements. If the API response contains a (non-empty) next page token, then the PagedListResponse object will make calls to the underlying API to retrieve additional elements as required.

NOTE: The result of this method is the same as getIterator(). Prefer using getIterator(), or iterate directly on the PagedListResponse object.

  • return \Generator
  • throws \ValidationException
public iterateFixedSizeCollections(int $collectionSize)
 

Returns an iterator over fixed size collections of results.

The collections are retrieved lazily from the underlying API.

Each collection will have collectionSize elements, with the exception of the final collection which may contain fewer elements.

NOTE: it is an error to call this method if an optional parameter to set the page size is not supported or has not been set in the original API call. It is also an error if the collectionSize parameter is less than the page size that has been set.

  • param int $collectionSize
  • throws \ValidationException if a FixedSizeCollection of the specified size cannot be constructed
  • return \Generator|\FixedSizeCollection[]
public iteratePages()
 

Returns an iterator over pages of results. The pages are retrieved lazily from the underlying API.

  • return \Page[]
  • throws \ValidationException
Properties
private $firstPage = NULL
© 2025 Bruce Wells
Search Namespaces \ Classes
Configuration