atog/simple-api-client 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

atog/simple-api-client

Composer 安装命令:

composer require atog/simple-api-client

包简介

Simple API Client with cUrl

README 文档

README

Latest Version on Packagist GitHub license Travis HHVM Quality Score Scrutinizer Coverage Total Downloads

The simple-api-client library provides an easy way to build wrappers for public REST APIs.

Install

Via Composer

$ composer require atog/simple-api-client

Usage

Classes

Client

The Client Class contains the basic Informations about the API liek the $domain. It has to extend the abstract class Atog\Api\Client

class Client extends \Atog\Api\Client
{
	protected $domain = 'http://example.com/api/v1';
}

Endpoints

Endpoints provide the functions to query the resources of the API.

class TestEndpoint extends \Atog\Api\Endpoint
{
	protected $endpoint = 'foo';

	public function find($slug)
    {
        // https://example.com/api/v1/foo/$slug gets called
		$this->respond(
		    $this->client->get($this->getEndpointUrl($slug, true))
		); 
    }
}

Models

The Models are the datastructures of the resources. Attributes can easly be changed with get and set mutators (much like the Eloquent Mutators from Laravel: https://laravel.com/docs/5.2/eloquent-mutators)

class TestModel extends Model
{
    public function getNameAttribute($value)
    {
    	return strtoupper($value);
    }

    public function setFirstNameAttribute($value)
    {
    	$this->attributes['first_name'] = strtolower($value);
    }

    public function setContactsAttribute($value)
    {
    	$this->attributes['contacts'] = $this->makeCollection($value, Contacts::class);
    }
}

Initialization

The first parameter defines all endpoints you are using. The second provides some options about the models or cUrl. In the models config we can bind a model to an endpoint

// new Client(array $endpoints, array $config = [])
$client = new Client(
    [
        TestEndpoint::class
    ],
    [
        'models' => [
            'TestEndpoint' => TestModel::class
        ],
        'curl' => [
            CURLOPT_TIMEOUT => 60
        ]
    ]
);
$foo = $client->testEndpoint->find(1); // GET http://example.com/api/v1/foo/1

Change log

1.1.0

  • added support for query params
  • added helper method to return api reponse

1.0.0

  • Initial Release

Testing

$ composer test

License

The MIT License (MIT). Please see License File for more information.

atog/simple-api-client 适用场景与选型建议

atog/simple-api-client 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 87 次下载、GitHub Stars 达 0, 最近一次更新时间为 2016 年 04 月 15 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 atog/simple-api-client 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 atog/simple-api-client 我们能提供哪些服务?
定制开发 / 二次开发

基于 atog/simple-api-client 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

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