多次尝试web服务-PHP
我正在构建一个与web服务交互的函数 在web服务没有响应的情况下,我希望在注册失败之前重试2到3次,以防出现临时故障 使用PHP实现这一点的最佳技术是什么多次尝试web服务-PHP,php,web-services,Php,Web Services,我正在构建一个与web服务交互的函数 在web服务没有响应的情况下,我希望在注册失败之前重试2到3次,以防出现临时故障 使用PHP实现这一点的最佳技术是什么 $i = 0; do { $response = getResponseFromWebService(); if ($i++ >= 3) { throw new Exception('Web service unavailable'); } } while (!$response); 不过,如
$i = 0;
do {
$response = getResponseFromWebService();
if ($i++ >= 3) {
throw new Exception('Web service unavailable');
}
} while (!$response);
不过,如果第一次不起作用,第二次或第三次也可能不起作用。除非您使用的是一个非常喜怒无常的web服务,否则您可能应该寻找另一个。
for($i=0,$success=FA:SE;$i<3;$i++){if(contact_service_successfully()){$success=TRUE;break;}}if(!$success){handle_error()}
逻辑是创建一个函数来执行与web服务的连接。如果失败,只需在函数本身内调用该函数,并让一个计数器变量在经过x次尝试后停止检查。参考DaveRandom的注释,如果成功,您可以使用break命令结束循环。If
需要If(++$i>=3){}
不需要。这取决于你想要多少次迭代……没错,但这会让行为更直观一些。。。您的版本将循环4次,通常情况下,如果我编写3
我想要3
迭代。但我同意你的观点。