suitcasephp/builder

一个简单易用的PHP SDK构建器。

v1.0.0 2020-03-25 13:56 UTC

README

Suitcase Builder SDK

Latest Version on Packagist Build Status Coverage Status Quality Score Total Downloads

一个简单易用的PHP SDK构建器。

安装

通过Composer

$ composer require suitcasephp/builder

如何使用

构建SDK

use Suitcase\Builder\SDK;

$sdk = SDK::make('https://api.example.com');

向SDK添加资源

$sdk->add('posts', [
    'endpoint' => 'posts',
    'allows' => [
        'get', 'find', 'create', 'update', 'delete'
    ]
]);

如果您想要传递一个遵循默认值的资源

$sdk->add('posts');

这将执行的操作是使用传递的字符串作为名称和端点,并通过默认的允许选项 - 实际上允许所有操作。

选择资源非常简单

$sdk->use('posts');

这将设置SDK上的活动资源,允许您使用允许的操作。如果操作未在资源的allows数组中注册,则抛出MethodNotAllowed异常。

在资源上执行操作

$sdk->use('posts')->get(); // return all posts
$sdk->use('posts')->find(1); // return the post with an identifier of 1
$sdk->use('posts')->create([]); // create a new post
$sdk->use('posts')->update(1, []); // update a post with an identifier of 1
$sdk->use('posts')->delete(1); // delet the post with a identifier of 1

您还可以使用新的append方法将子资源附加到查询中

$sdk->use('posts')->append('comments')->find(1);

这将返回来自URL /posts/1/comments 的服务器流响应

需要处理认证端点吗?

可以使用此包采取相对简单的方法,首先您必须有一个API令牌或正在使用基本认证

$sdk->use('users')->withAuthHeaders('your-api-token', 'Bearer')->get();

这里发生的事情是,认证头将设置为:Authorization: Bearer your-api-token 并作为头在Guzzle中添加。默认情况下,类型不是必需的,因为它默认为Bearer,所以如果您正在使用bearer令牌,请省略此部分。

请注意,API认证不是此包的主要目标,它只是在某些场景下受欢迎的附加功能。