setka / workflow-php-sdk

与 Workflow 服务通信的 SDK。

v2.0.0 2020-08-31 14:05 UTC

README

该库旨在简化您与 Workflow API 的交互。通过 Workflow API,您可以更新票据信息和管理帖子类别。

Guzzle 用于发送 HTTP 请求。您可以使用任何可用的处理程序与 Guzzle 一起使用,包括 cURL、Stream 等,或者 创建自己的处理程序

基础

要开始,请使用 Composer 依赖管理器(该库尚未在 packagist.org 上注册,但我们正在努力解决这个问题!)将库安装到您的项目中。要执行 composer require,您必须

  1. 打开 composer.json 文件并指定 repository 字段和以下信息

    "repositories": [
      {
        "type": "git",
        "url": "https://github.com/setkaio/workflow-php-sdk.git"
      }
    ]
  2. 从您的项目目录执行 composer require 命令。

    composer require setka/workflow-php-sdk

如何开始使用 Workflow API?

发送请求需要 API 许可证密钥。从“账户设置”复制您的 API 许可证密钥

  1. 登录您的 Workflow 账户 workflow.setka.io
  2. 右上角点击“设置”。
  3. 点击“自定义 CMS”并复制 API 许可证密钥。

向 Setka Workflow API 发送第一个请求

首先,初始化以下对象以发送请求

  • Setka\WorkflowSDK\API — API 交互的主要对象。
    • GuzzleHttp\Client — 使用所选处理程序发送 HTTP 请求。
    • Setka\WorkflowSDK\AuthCredits — 存储用于 Workflow API 身份验证所需的数据(API 许可证令牌)。
  • Setka\WorkflowSDK\Actions\ActionInterface — 具有此接口的任何类都设置为向 API 发送适当的请求。
use Setka\WorkflowSDK\APIFactory;
use Setka\WorkflowSDK\Actions\Spaces\GetSpaceAction;

try {
  // Use APIFactory for quick usage or to create manually.
  $api = APIFactory::create('YOUR_TOKEN');
  
  // Create an Action to obtain data.
  $action = new GetSpaceAction($api);

  // Prevent generating Guzzle exceptions.
  $details = $action->configureDetails(array(
    'options' => array(
      'http_errors' => false,
    ),
  ));

  $entity = $action
    // Save settings and parameters
    ->setDetails($details)
    // Perform a request
    ->request()
    // Handling response to requests (each Action has its own handleResponse method)
    ->handleResponse();
    
  // If no exception is thrown, your request was successful.
  // You can then move on to use $entity object (Setka\WorkflowSDK\Entities\SpaceEntity).
    
  $shortName = $entity->getShortName();
  $name      = $entity->getName();
} catch (\Exception $exception) {
    // Error
}

创建类别

一旦您执行了第一个请求,您可以将“空间短名称”作为参数保存以供将来请求使用。“空间短名称”几乎用于所有请求,因此我们建议您缓存“GetSpaceAction”响应以提高性能。

try {
  $api = APIFactory::create('YOUR_TOKEN');
  
  // Creating an action to set up a category
  $action = new CreateCategoryAction($api);

  // Configuring an action
  $details = $action->configureDetails(array(
    // Use a value from a previous request
    'space' => 'your-space-short-name',
    'options' => array(
      // Disable exceptions in Guzzle
      'http_errors' => false,
      'json' => array(
        'name' => 'Your name for category',
      ),
    ),
  ));

  $entity = $action
    ->setDetails($details)
    ->request()
    ->handleResponse();
    
  // Category sucessfylly created!
  // Using $entity instance in your code    
} catch (\Exception $exception) {
  // Error
}

贡献

要运行 PHP 代码检查器,请运行以下命令。

composer install
vendor/bin/phpcs --standard=phpcs.ruleset.xml