alignwebs/saga-server-client-php
Composer 安装命令:
composer require alignwebs/saga-server-client-php
包简介
PHP client for Laravel Saga Server
README 文档
README
Install package:
composer require alignwebs/saga-server-client-php:dev-main
Sample Code:
<?php
include 'vendor/autoload.php';
use Alignwebs\SagaClient\SagaBuilder;
use Alignwebs\SagaClient\SagaClient;
use Alignwebs\SagaClient\SagaObject;
// make saga client object
$host = 'http://saga.hyperzod.test';
$sagaClient = new SagaClient($host);
$sagaName = "TestSaga";
$sagaBuilder = new SagaBuilder($sagaName, 11);
// Add Failed Callbacks
$failed = [
"url" => "http://saga.hyperzod.test/testing/0/delete",
"method" => "POST",
"payload" => ['id' => 111]
];
$sagaBuilder->addSagaFailedCallback($failed['url'], $failed['method'], $failed['payload']);
// SETTING SERVICE
$sagaObject = new SagaObject("setting");
$payload = array(
'tenant_id' => 1,
'business_name' => 'Meco Fresh',
'store_type' => 'single',
);
$sagaObject->payload($payload);
$sagaObject->successCase("http://saga.hyperzod.test/testing/1", "GET", "success:true");
$sagaObject->failureCase("http://saga.hyperzod.test/testing/1/rollback", "POST");
$sagaBuilder->addSagaEntry($sagaObject);
try {
$sagaId = ($sagaClient->createSaga($sagaBuilder));
echo "Saga ID: " . $sagaId . "\n";
} catch (Exception $e) {
echo "Error: " . $e->getMessage() . "\n";
}
统计信息
- 总下载量: 2.15k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-07-17