PHP Snitcher
Simple API client for Dead Man's Snitch inspired by official Ruby client, (*1)
, (*2)
Install
Via Composer, (*3)
composer require webcore/snitcher
Snitcher depends on HTTPlug HTTP client abstraction for PHP.
You can read more about HTTPlug framework integration with Symfony bundle in HTTPlug docs., (*4)
Usage
Example with Guzzle HTTP client
Install dependencies:
- Implementation of HttpClient adapter using Guzzle, (*5)
```
composer require php-http/guzzle6-adapter
```
- Implementations of MessageFactory, StreamFactory and UriFactory, (*6)
```
composer require php-http/message
```
Create required factories:, (*7)
use Http\Adapter\Guzzle6\Client;
use Http\Message\MessageFactory\GuzzleMessageFactory;
use Http\Message\StreamFactory\GuzzleStreamFactory;
use Http\Message\UriFactory\GuzzleUriFactory;
$httpClient = new Client(new GuzzleHttp\Client());
$messageFactory = new GuzzleMessageFactory();
$streamFactory = new GuzzleStreamFactory();
$uriFactory = new GuzzleUriFactory();
Create Snitcher instance:, (*8)
use Webcore\Snitcher\Snitcher;
$snitcher = new Snitcher($httpClient, $messageFactory, $streamFactory, $uriFactory);
To check in for one of your snitches:, (*9)
$snitcher->snitch("c2354d53d2");
You also may provide a message with the check in:, (*10)
$snitcher->snitch("c2354d53d2", "Finished in 23.8 seconds.")
If error occurs one of these exceptions is thrown:, (*11)
InvalidArgumentException
HttpClientException
Exception
```
## Sample composer.json:
{
"name": "some-user/nice-project",
"require": {
"webcore/snitcher": "^1.0.0",
"php-http/guzzle6-adapter": "^1.1.1",
"php-http/message": "^1.2.0"
}
}
```, (*12)
TODO
MIT license
Copyright (c) 2016, Štefan Peťovský, (*13)