library abstract-client
Abstract classes for api client
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
Абстрактный клиент для api
, (*1)
, (*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;
}
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
dev-master
9999999-dev
Abstract classes for api client
Sources
Download
MIT
The Requires
by
Maxim Mironyuk
api
consultnn