Stellar PHP SDK API Documentation

PageResponse extends Response

AbstractYes

Abstract base class for paginated collection responses from Horizon API

Horizon returns collections in pages for efficient data transfer. This base class provides common pagination functionality including navigation links, page state checking, and methods to fetch next/previous pages. All paginated collection responses extend this class.

Key features:

  • Navigation links for next, previous, and self pages
  • Helper methods to check if next/previous pages exist
  • Abstract methods to fetch next/previous pages (implemented by subclasses)
  • Support for both forward and backward pagination
Tags
see
PagingLinksResponse

For pagination link details

see
https://developers.stellar.org

Stellar developer docs Horizon Pagination

since
1.0.0

Table of Contents

Properties

$httpClient  : Client|null
$rateLimitLimit  : int|null
$rateLimitRemaining  : int|null
$rateLimitReset  : int|null

Methods

getHttpClient()  : Client|null
Gets the HTTP client used for pagination requests
getLinks()  : PagingLinksResponse
Gets the pagination links for navigating between pages
getNextPage()  : PageResponse|null
Fetches the next page of results
getPreviousPage()  : PageResponse|null
Fetches the previous page of results
getRateLimitLimit()  : int|null
Returns X-RateLimit-Limit header from the response.
getRateLimitRemaining()  : int|null
Returns X-RateLimit-Remaining header from the response.
getRateLimitReset()  : int|null
Returns X-RateLimit-Reset header from the response. Seconds until a new window starts.
hasNextPage()  : bool
Checks if a next page exists
hasPrevPage()  : bool
Checks if a previous page exists
setHeaders()  : void
Extracts and sets rate limiting information from HTTP response headers
setHttpClient()  : void
Sets the HTTP client for making follow-up requests
executeRequest()  : Response|null
getNextPageUrl()  : string|null
getPrevPageUrl()  : string|null
loadFromJson()  : void
Loads response data from a JSON array

Properties

$httpClient

protected Client|null $httpClient = null

$rateLimitLimit

protected int|null $rateLimitLimit = null

$rateLimitRemaining

protected int|null $rateLimitRemaining = null

$rateLimitReset

protected int|null $rateLimitReset = null

Methods

getHttpClient()

Gets the HTTP client used for pagination requests

public getHttpClient() : Client|null
Return values
Client|null

The HTTP client instance, or null if not set

getNextPage()

Fetches the next page of results

public abstract getNextPage() : PageResponse|null
Return values
PageResponse|null

The next page or null if no next page exists

getPreviousPage()

Fetches the previous page of results

public abstract getPreviousPage() : PageResponse|null
Return values
PageResponse|null

The previous page or null if no previous page exists

getRateLimitLimit()

Returns X-RateLimit-Limit header from the response.

public getRateLimitLimit() : int|null

This number represents the he maximum number of requests that the current client can make in one hour.

Tags
see
https://developers.stellar.org

Stellar developer docs Rate limiting documentation

Return values
int|null

getRateLimitRemaining()

Returns X-RateLimit-Remaining header from the response.

public getRateLimitRemaining() : int|null

The number of remaining requests for the current window.

Tags
see
https://developers.stellar.org

Stellar developer docs Rate limiting documentation

Return values
int|null

getRateLimitReset()

Returns X-RateLimit-Reset header from the response. Seconds until a new window starts.

public getRateLimitReset() : int|null
Tags
see
https://developers.stellar.org

Stellar developer docs Rate limiting documentation

Return values
int|null

hasNextPage()

Checks if a next page exists

public hasNextPage() : bool
Return values
bool

True if there is a next page available

hasPrevPage()

Checks if a previous page exists

public hasPrevPage() : bool
Return values
bool

True if there is a previous page available

setHeaders()

Extracts and sets rate limiting information from HTTP response headers

public setHeaders(array<string|int, mixed> $headers) : void

This method processes the X-Ratelimit-* headers from the HTTP response and stores them for client access.

Parameters
$headers : array<string|int, mixed>

Associative array of HTTP headers from the response

setHttpClient()

Sets the HTTP client for making follow-up requests

public setHttpClient([Client|null $httpClient = null ]) : void

Paginated responses contain links to next/previous pages. This HTTP client is used when following those links to fetch additional pages.

Parameters
$httpClient : Client|null = null

The Guzzle HTTP client to use for pagination

getNextPageUrl()

protected getNextPageUrl() : string|null
Return values
string|null

getPrevPageUrl()

protected getPrevPageUrl() : string|null
Return values
string|null

loadFromJson()

Loads response data from a JSON array

protected loadFromJson(array<string|int, mixed> $json) : void

This method is used internally to populate response objects from parsed JSON. Subclasses override this to extract their specific data fields.

Parameters
$json : array<string|int, mixed>

Associative array of parsed JSON data


        
On this page

Search results