php-extended/php-api-fr-gouv-datatourisme-diffuseur-object

A library that implements the php-extended/php-api-fr-gouv-datatourisme-diffuseur-interface library


README

A library that implements the php-extended/php-api-fr-gouv-datatourisme-diffuseur-interface library.

coverage build status

Installation

The installation of this library is made via composer. Download composer.phar from their website. Then add to your composer.json :

	"require": {
		...
		"php-extended/php-api-fr-gouv-datatourisme-diffuseur-object": "^4",
		...
	}

Then run php composer.phar update to install this library. The autoloading of all classes of this library is made through composer's autoloader.

Basic Usage

This library may be used the following way :


use PhpExtended\DatatourismeDiffuseurApi\DtDiffApiEndpoint;
use PhpExtended\Endpoint\HttpEndpoint;

/** @var $client \Psr\Http\Client\ClientInterface */
// note, the client or the endpoint must do gzip
// uncompressing when retrieving the file. You may use the
// \PhpExtended\Endpoint\GzipHttpEndpoint as wrapper around
// the HttpEndpoint to do the job if the client does not.

// note2 : the client must support the X-Php-Download-File
// custm header to specify a temporary location, or do gzip
// uncompressing on the fly (as the following unzipping is
// done by this endpoint on the temp folder and the php-zip
// library needs a file to operate).

$endpoint = new DtDiffApiEndpoint('/tmp/', new GzipHttpEndpoint(new HttpEndpoint($client)));

$iterator = $endpoint->downloadFlux($fluxKey, $apiKey);

foreach($iterator as $line)
{
	try
	{
		$poi = $iterator->getPointOfInterestData($resume);
		// do something with poi object
	}
	catch(\Throwable $exc)
	{
		// do something in case object cannot be read
	}
}

License

MIT (See license file).