PHPackages                             consultnn/abstract-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. consultnn/abstract-client

ActiveLibrary[API Development](/categories/api)

consultnn/abstract-client
=========================

Abstract classes for api client

v1.0.1(5y ago)12.9kMITPHPPHP &gt;=5.4.0

Since Jul 8Pushed 5y ago8 watchersCompare

[ Source](https://github.com/consultnn/abstract-client)[ Packagist](https://packagist.org/packages/consultnn/abstract-client)[ RSS](/packages/consultnn-abstract-client/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

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

[](#абстрактный-клиент-для-api)

[![Packagist](https://camo.githubusercontent.com/640e0bd45ed794ffac84c912a1a9d03a4442d6fdc5e70ecc019101f237235812/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f636f6e73756c746e6e2f61627374726163742d636c69656e742e7376673f6d61784167653d323539323030303f7374796c653d706c6173746963)](https://packagist.org/packages/consultnn/abstract-client)

[![Software License](https://camo.githubusercontent.com/ee061e6c1798bd95fa104c910010a3119850b186c323a1c848b3abcb029dc764/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6173686170652f6170697374617475732e7376673f6d61784167653d32353932303030)](LICENSE.md)

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

[](#базовые-классы)

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

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

[](#пример-использования)

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

```
/**
 * Class Company
 * @package consultnn\api
 */
class PageDomain extends \consultnn\baseapi\AbstractDomain
{
    public function init()
    {
        //базовый путь для запросов вида http://api.example.com//
        $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, указывает на класс используемый для маппинга данных

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

```

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 59% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2183d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6559f1e755ff5770d012bdedb22e589553caabaf3a78eadfa944d832ce16eef2?d=identicon)[sokrat](/maintainers/sokrat)

---

Top Contributors

[![serieznyi](https://avatars.githubusercontent.com/u/2323142?v=4)](https://github.com/serieznyi "serieznyi (23 commits)")[![sokrat](https://avatars.githubusercontent.com/u/427543?v=4)](https://github.com/sokrat "sokrat (9 commits)")[![crashkita](https://avatars.githubusercontent.com/u/5083339?v=4)](https://github.com/crashkita "crashkita (3 commits)")[![smirnov-e](https://avatars.githubusercontent.com/u/131781557?v=4)](https://github.com/smirnov-e "smirnov-e (3 commits)")[![St1Gz](https://avatars.githubusercontent.com/u/1092433?v=4)](https://github.com/St1Gz "St1Gz (1 commits)")

---

Tags

api-clientapiConsultNN

### Embed Badge

![Health badge](/badges/consultnn-abstract-client/health.svg)

```
[![Health](https://phpackages.com/badges/consultnn-abstract-client/health.svg)](https://phpackages.com/packages/consultnn-abstract-client)
```

###  Alternatives

[algolia/algoliasearch-client-php

API powering the features of Algolia.

69734.4M145](/packages/algolia-algoliasearch-client-php)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.7k371.6k6](/packages/theodo-group-llphant)[deeplcom/deepl-php

Official DeepL API Client Library

2577.0M98](/packages/deeplcom-deepl-php)[temporal/sdk

Temporal SDK

4102.7M22](/packages/temporal-sdk)[api-platform/metadata

API Resource-oriented metadata attributes and factories

244.5M182](/packages/api-platform-metadata)[wtfzdotnet/php-tmdb-api

PHP wrapper for TMDB (TheMovieDatabase) API v3. Supports two types of approaches, one modelled with repositories, models and factories. And the other by simple array access to RAW data from The Movie Database.

4262.9k](/packages/wtfzdotnet-php-tmdb-api)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
