Skip to content
This repository was archived by the owner on Jun 11, 2018. It is now read-only.

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Comrade Reader

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.

Releases

Packages

Contributors

Languages