wolnosciowiec/comrade-reader

This package is abandoned and no longer maintained. No replacement package was suggested.

Comrade, an API reader that takes care about the proper deserialization and hydration

Maintainers

Package info

github.com/Wolnosciowiec/comrade-reader

Issues

pkg:composer/wolnosciowiec/comrade-reader

Statistics

Installs: 59

Dependents: 0

Suggesters: 0

Stars: 1

dev-master 2017-01-20 18:32 UTC

This package is not auto-updated.

Last update: 2020-01-24 16:44:57 UTC


README

Build Status Code quality rating Code Climate

Makes requests to API and allows to decode response to objects

Written for Wolnościowiec as a bridge between microservices and comrades who wants to share the anarchist events, articles and news.

http://wolnosciowiec.net

Instalation

composer require wolnosciowiec/comrade-reader
composer dump-autoload -o

Example usage

Given we have an API method "/colors/by-name/{{ colorName }}" on external server that is returning:

{
    "success": true,
    "data": {
        "id": 1,
        "color": "Black & Red"
    }
}
<?php

namespace Example;

// Color.php
class Color
{
    protected $id;
    protected $colorName;
    
    // getter, setter...
}

// ColorRepository.php
class ColorRepository extends AbstractApiRepository
{
    public function getColorByName($colorName)
    {
        return $this->reader->request('GET', '/colors/by-name/' . $this->escape($colorName), '', 3600)
            ->decode(Color::class);
    }
}

// ExampleController.php
class ExampleController extends AbstractController
{
    public function viewAction()
    {
        $color = $this->getRepository()->getColorByName('Red & Black');
        dump($color);
    }
}

The result of our dump() should be an outputted object of Color type to the screen with private properties filled up.