wolnosciowiec/comrade-reader

此软件包已被 废弃,不再维护。未建议替代包。

Comrade,一个关注正确反序列化和解冻的 API 读取器

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

向 API 发送请求,并允许将响应解码为对象

为 Wolnościowiec 编写,作为微服务和想要分享无政府主义事件、文章和新闻的同志之间的桥梁。

http://wolnosciowiec.net

安装

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

示例用法

假设我们有一个外部服务器上的 API 方法 "/colors/by-name/{{ colorName }}",返回

{
    "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);
    }
}

我们 dump() 的结果应该是在屏幕上输出 Color 类型的对象,并填充私有属性。