Skip to content

Latest commit

 

History

History
95 lines (56 loc) · 2.28 KB

File metadata and controls

95 lines (56 loc) · 2.28 KB

Intro

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