41 lines
1.9 KiB
PHP
41 lines
1.9 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Guzzle\Service\Builder;
|
||
|
|
||
|
use Guzzle\Service\Exception\ServiceNotFoundException;
|
||
|
|
||
|
/**
|
||
|
* Service builder used to store and build clients or arbitrary data. Client configuration data can be supplied to tell
|
||
|
* the service builder how to create and cache {@see \Guzzle\Service\ClientInterface} objects. Arbitrary data can be
|
||
|
* supplied and accessed from a service builder. Arbitrary data and other clients can be referenced by name in client
|
||
|
* configuration arrays to make them input for building other clients (e.g. "{key}").
|
||
|
*/
|
||
|
interface ServiceBuilderInterface
|
||
|
{
|
||
|
/**
|
||
|
* Get a ClientInterface object or arbitrary data from the service builder
|
||
|
*
|
||
|
* @param string $name Name of the registered service or data to retrieve
|
||
|
* @param bool|array $throwAway Only pertains to retrieving client objects built using a configuration array.
|
||
|
* Set to TRUE to not store the client for later retrieval from the ServiceBuilder.
|
||
|
* If an array is specified, that data will overwrite the configured params of the
|
||
|
* client if the client implements {@see \Guzzle\Common\FromConfigInterface} and will
|
||
|
* not store the client for later retrieval.
|
||
|
*
|
||
|
* @return \Guzzle\Service\ClientInterface|mixed
|
||
|
* @throws ServiceNotFoundException when a client or data cannot be found by the given name
|
||
|
*/
|
||
|
public function get($name, $throwAway = false);
|
||
|
|
||
|
/**
|
||
|
* Register a service or arbitrary data by name with the service builder
|
||
|
*
|
||
|
* @param string $key Name of the client or data to register
|
||
|
* @param mixed $service Client configuration array or arbitrary data to register. The client configuration array
|
||
|
* must include a 'class' (string) and 'params' (array) key.
|
||
|
*
|
||
|
* @return ServiceBuilderInterface
|
||
|
*/
|
||
|
public function set($key, $service);
|
||
|
}
|