2017 © Pedro Peláez
 

library abstract-client

Abstract classes for api client

image

consultnn/abstract-client

Abstract classes for api client

  • Thursday, November 9, 2017
  • by sokrat
  • Repository
  • 5 Watchers
  • 0 Stars
  • 2,363 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 1 % Grown

The README.md

Абстрактный клиент для api

Packagist, (*1)

Software License, (*2)

Базовые классы:

  • AbstractDomain - класс предметной области, он него наследуются классы реализующие методы доступа к api, как правило соответствует одному контроллеру в api. Реализованы методы getSingle, getInternalList, getMeta - получение одного объекта, массива или мета информации
  • AbstractMapper - класс для маппинга данных, от него наследуются классы описывающие тот или иной тип данных
  • ApiConnection - обёртка над curl

Пример использования:

Наследуемся от AbstractDomain, добавляем параметры инициализации, (*3)

/**
 * Class Company
 * @package consultnn\api
 */
class PageDomain extends \consultnn\baseapi\AbstractDomain
{
    public function init()
    {
        //базовый путь для запросов вида http://api.example.com/<version>/<endpoint>
        $this->client->url = 'http://api.example.com';
    }

    public function getBySlug($slug, $type = null)
    {
        return $this->getSingle(
            'page/' . $slug,
            Page::class,
            [
                'attribute' => 'slug',
                'type' => $type
            ]
        );
    }

    public function getList($queryParams) {
        return $this->getInternalList('page', Page::class, $queryParams)
    }
}

Второй параметр в методе getSingle, указывает на класс используемый для маппинга данных, (*4)

class Page extends AbstractMapper
{
    public $title;
    public $meta_keywords;
    public $meta_description;
    public $slug;
    public $h1;
    public $content;
}

The Versions

09/11 2017

dev-1-first-stable-release

dev-1-first-stable-release

Abstract classes for api client

  Sources   Download

MIT

The Requires

 

by Maxim Mironyuk

api consultnn

09/11 2017

dev-master

9999999-dev

Abstract classes for api client

  Sources   Download

MIT

The Requires

 

by Maxim Mironyuk

api consultnn