For the complete documentation index, see llms.txt. This page is also available as Markdown.

Data providers

Data providers are the core means to access external data. These are classes which use custom methods to access data.

Available data providers:

  • Http - generic HTTP data provider

  • Rest - data provider for REST-based APIs

  • GraphQL - data provider for GraphQL APOIs

Common methods

A DataProvider interface is used which defines the following common methods for data providers.

getBaseUri

Return base URI to use for all data requests.

  • Returns a string

getUri

Return URI to use for current data request

  • Parameters

    • string|null $endpoint Optional endpoint to append to base URI

  • Returns a string

getRequestIdentifier

Return a unique identifier safe to use for caching based on the request

  • Parameters

    • $uri URI for request

    • array $context Array of contextual data (e.g. request options)

  • Returns a string

isSuppressErrors

Whether errors are suppressed

  • Returns a boolean

getDefaultDecoder

Return default decoder to decode responses.

  • Returns an object of type Strata\Data\Decode\DecoderInterface or null if no default decoder set

decode

Decode a response

  • Parameters

    • mixed $response Response to decode (normally an object or array)

    • DecoderInterface|null $decoder Optional decoder, if not set uses getDefaultDecoder()

  • Returns the decoded data (normally an array or object)

isCacheEnabled

Is the cache enabled?

  • Returns a boolean

getCache

Return the cache

  • Returns an object of type Strata\Data\Cache\DataCache

addListener

Adds an event listener that listens on the specified event. See events.

  • Parameters

    • string $eventName Event name

    • callable $listener The listener

    • int $priority The higher this value, the earlier an event listener will be triggered in the chain (defaults to 0)

addSubscriber

Adds an event subscriber. See events.

  • Parameters

    • EventSubscriberInterface $subscriber Event subscriber

dispatchEvent

Dispatches an event to all registered listeners

  • Parameters

    • Event $event The event to pass to the event handlers/listeners

    • string $eventName The name of the event to dispatch

  • Returns an object of type Symfony\Contracts\EventDispatcher\Event

Last updated

Was this helpful?