定制 consultnn/abstract-client 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

consultnn/abstract-client

Composer 安装命令:

composer require consultnn/abstract-client

包简介

Abstract classes for api client

README 文档

README

Packagist

Software License

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

  • 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/<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, указывает на класс используемый для маппинга данных

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

统计信息

  • 总下载量: 2.9k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 8
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-06-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固