用于实现事务感知api调用的PHP库?

用于实现事务感知api调用的PHP库?,php,transactions,rollback,enterprise,Php,Transactions,Rollback,Enterprise,为了实现我的一些功能,我需要按顺序调用一组API。有时会有一个API在中间失败。在这种情况下,我需要回滚在此之前成功发生的API调用。本质上是一个具有事务回滚支持的命令/函数队列 还有一些时候,我需要将其中一个函数调用的结果作为参数注入到以后的函数调用中。所以如果有一个协议的话就好了 我想知道的是,是否有人见过这样一个(php)库,或者是否有一种优雅的方法来实现它,可能是一个状态机?还是我在胡言乱语 显然,有很多细微差别需要考虑,比如如果回滚也失败了会发生什么,等等 我想将此库称为以下库: //

为了实现我的一些功能,我需要按顺序调用一组API。有时会有一个API在中间失败。在这种情况下,我需要回滚在此之前成功发生的API调用。本质上是一个具有事务回滚支持的命令/函数队列

还有一些时候,我需要将其中一个函数调用的结果作为参数注入到以后的函数调用中。所以如果有一个协议的话就好了

我想知道的是,是否有人见过这样一个(php)库,或者是否有一种优雅的方法来实现它,可能是一个状态机?还是我在胡言乱语

显然,有很多细微差别需要考虑,比如如果回滚也失败了会发生什么,等等

我想将此库称为以下库:

//第一个命令
$cmd1=
新建\事务\命令(“命令一”)
->集合函数(
函数(){
回显“运行命令一”;
返回“一”;
}
)
->设置回滚(
函数(){
返回“回滚命令一”;
}
);
//第二命令
$cmd2=
新建\事务\命令(“命令二”)
->集合函数(
函数($resultFromCmdOne){
回显“使用运行命令2”。
“命令一的结果:$resultFromCmdOne”;
返回“二”;
}
)
->设置回滚(
函数(){
返回“回滚命令二”;
}
);
$cmdQueue=new\Native5\Transaction\CommandQueue();
$cmdQueue->addCommand($cmd1);
$cmdQueue->addCommand($cmd2);
//处理命令集
$cmdQueue->process();

在我看来很体面。你有什么问题?不存在针对此类问题的标准库。感谢您的支持。我可以在给出的代码行上实现一个简单的库。但是,考虑到这个问题,这是实现这一目标的最佳方式吗?不要试图成为一个完美主义者,你在这方面走得很好,所以继续前进,在遇到瓶颈时改进瓶颈。应用程序和对它们的需求会随着时间的推移而变化,请在此时进行优化,而不是事先进行优化。感谢您尝试围绕此编写一个小型库。