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 requestarray $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 namecallable $listener
The listenerint $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/listenersstring $eventName
The name of the event to dispatch
Returns an object of type
Symfony\Contracts\EventDispatcher\Event
Last updated