根据你的说法,PHP中最好的解决方案是什么来确保几个PHP函数的过程?
例如,函数A必须返回True才能启动B函数,B函数必须返回True才能启动另一个函数…
是否有像sql中的Rollback / Commit这样的系统来确保在PHP中?
谢谢.
解决方法:
做一系列功能看起来像这样:
try {
if(!functionA()) {
throw new Exception("Error message here", 100); // 100 can be any code, as long as it's unique to the other throw exception codes
}
if(!functionB()) {
throw new Exception("Error message here", 101);
}
if(!functionC()) {
throw new Exception("Error message here", 102);
}
} catch(Exception $e) {
/**
* Do some actions depending on the error code of the exception (100, 101, 102)
*/
}
但是,如果我理解正确你想要执行一系列操作,并且只有当它们都成功时你才希望它们是最终的,否则你想撤消所有的操作?
在这种情况下,很难说你应该如何实现它,因为你不知道你想要实现什么.
但我可以给你一些建议.大多数不可逆的操作都有很多可能的检查.例如,如果要确保从文件系统中删除文件,可以先检查文件是否可写(is_writable),甚至是否存在(file_exists).如果您首先对所有操作进行所有检查,然后执行操作,则可以确定它们将成功执行.当然,你可能会忘记检查,或者某些事情无法检查,但我没有看到其他选项来解决这个问题.