承接 ourgold/exchange 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

ourgold/exchange

最新稳定版本:2.0.6

Composer 安装命令:

composer require ourgold/exchange

包简介

Tools to communicate with external services

README 文档

README

Установка

composer require ourgold/exchange:^1.0

Note: (при необходимости можно с осторожностью добавить ключ --ignore-platform-reqs)

После завершения установки выполнить команду

php artisan vendor:publish --provider="Ourgold\Exchange\ExchangeServiceProvider" --tag="config"

И обязательно отредактировать параметр api_superclass, указав нужный суперкласс заместо стандартного.

После настройки, выполнить миграцию

php artisan migrate

И добавить команду в планировщик app/Console/Kernel.php метод schedule

$schedule->command('exchange:process-queue')->everyMinute();

Использование

Для использования необходимо реализовать свою версию класса \Ourgold\Exchange\Services\ExternalAPIs , добавив в него методы, возвращающие инстансы классов для работы с внешними API.

После чего для постановки запросов в очередь необходимо вызвать метод \Ourgold\Exchange\Services\ExchangeService::queue()

Первый аргумент - массив имён методов, которые вызываются друг за другом (каждый последующий вызывается на результате вызова предыдущего метода) Второй аргумент - массив аргументов, передаваемых последнему методу из цепочки Третий аргумент - callback-класс с реализованным методом __invoke, куда передастся результат вызова последнего метода в цепочке

Пример 1

\Ourgold\Exchange\Services\ExchangeService::queue(
    [
      'exampleAPI',
      'users',
      'get',
    ],
    null,
    \App\TestCallbackHandler::class,  
);

Цепочка вызова:

(new \Ourgold\Exchange\Services\ExternalAPIsTest())->exampleAPI()->users()->get();

В данном примере сначала вызовется метод exampleAPI() в классе \Ourgold\Exchange\Services\ExternalAPIs , который возвращает инстанс класса ExternalAPIExample.

Далее вызовется метод users() класса ExternalAPIExample и наконец метод get() Аргументы никакие передаваться не будут (второй параметр) Результат вызова передастся в callback-класс \App\TestCallbackHandler (в magic-метод __invoke)

Пример 2

\Ourgold\Exchange\Services\ExchangeService::queue(
    [
      'exampleAPI',
      'login',  
    ],
    ['test_login', 'test_password'],
    \App\TestCallbackHandler::class,
);

Цепочка вызова:

(new \Ourgold\Exchange\Services\ExternalAPIsTest())->exampleAPI()->login('test_login', 'test_password');

В данном примере сначала вызовется метод exampleAPI() в классе \Ourgold\Exchange\Services\ExternalAPIs , который возвращает инстанс класса ExternalAPIExample.

Далее вызовется метод login($login, $password) класса ExternalAPIExample с аргументами test_login и test_password Результат вызова передастся в callback-класс \App\TestCallbackHandler (в magic-метод __invoke)

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-09-05