timacdonald/kumulos

此包已被废弃,不再维护。未建议替代包。

Kumulos PHP API SDK

安装: 426

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 0

公开问题: 1

类型:实用工具

v1.0.1 2017-04-22 04:17 UTC

This package is auto-updated.

Last update: 2022-07-29 01:36:09 UTC


README

此包是Kumulos API的现代PHP SDK。

安装

您可以使用composerPackagist进行安装。

composer require timacdonald/kumulos

虽然不建议这样做,因为此包不包含任何依赖项,您可以直接下载并将文件包含到您的项目中。

版本控制

此包使用语义化版本控制。您可以通过阅读规范或查看这篇帖子了解更多关于此以及为什么它很重要。

使用

创建一个Kumulos API对象,然后在API对象上调用您在API中创建的方法。

use TiMacDonald\Kumulos\Api;

/**
 * Create our api object instance.
 */
$api = new Api($key, $secret);

/**
 * Call an API method on the object, passing in an associative array of values.
 */
$api->createUser([
    'name' => 'Tim MacDonald',
    'twitter' => '@timacdonald87',
    'github' => 'timacdonald',
    'website' => 'timacdonald.me'
]);

/**
 * Check if it failed.
 */
if ($api->failed()) {
    // deal with failure, perhaps with an exception
    throw new Exception($api->response()->message(), $api->response()->statusCode());
}

/**
 * Retrieve the response payload.
 */
$userId = $api->response()->payload();

标准化状态码

Kumulos使用自定义状态码响应,但如果您希望将这些状态码标准化为标准HTTP响应码,您可以简单地调用以下方法

// Check if it failed
if ($api->failed()) {
    // deal with failure, perhaps with an exception
    throw new Exception($api->response()->normalizedMessage(), $api->response()->normalizedStatusCode());
}

Laravel中DI的配置

如果您正在使用Laravel框架,您需要将API密钥和密钥存储在环境文件(.env)中。

...
DB_USERNAME=homestead
DB_PASSWORD=secret

KUMULOS_API_KEY=your-api-key-here
KUMULOS_API_SECRET=your-secrethere

在您的./config/services.php文件中,您可以像这样添加Kumulos服务

return [
    'kumulos' => [
        'key' => env('KUMULOS_API_KEY'),
        'secret' => env('KUMULOS_API_SECRET')
    ],
    ...

很好。现在配置已经整理好,让我们将其绑定到IOC容器。在您的应用程序服务提供者的register方法中,简单地添加以下绑定方法

$this->app->bind(\TiMacDonald\Kumulos\Api::class, function ($app) {
    return new \TiMacDonald\Kumulos\Api(
        $app['config']->get('services.kumulos.key'),
        $app['config']->get('services.kumulos.secret')
    );
});

现在您可以让容器为您解析API类,而无需'new'实例。

<?php

namespace App\Http\Controllers;

use TiMacDonald\Kumulos\Api;

class UserController extends Controller
{
    public function store(Api $api)
    {
        $api->createUser([
            'name' => 'Tim MacDonald',
            'twitter' => '@timacdonald87',
            'github' => 'timacdonald',
            'website' => 'timacdonald.me'
        ]);

        //
    }
}

下一步

  • 添加强制标准化响应消息和代码的能力。
  • 添加Laravel服务提供者以绑定,请参阅文档。
  • 抛出异常而不是检查失败。

感恩回馈

您可以使用此包,但请向我询问,您是否可以向之前或目前正在维护或为您的项目中使用的开源库做出贡献的人表示感谢。请考虑您的整个技术栈:包、框架、语言、数据库、操作系统、前端、后端等。