我正在尝试检查免费电话号码,它正在按预期工作。但是,我的问题是有些国家没有TollFree号码。
在这些国家/地区使用相同的代码会引发404错误并在那里停止代码。
我能想到的唯一方法是制作一个大规模的if语句并手动添加每个国家/地区提供免费选项,但我不喜欢这个解决方案,因为它将被硬编码。有没有办法克服这个问题,所以它适用于拥有.json
的国家而忽略了那些没有(而不是崩溃代码)的国家?
$twilio = new Client(env('TWILIO_ID'), env('TWILIO_TOKEN'));
$iso = 'CY';
$params = ["excludeLocalAddressRequired" => "true"];
$tollFreeNumbers = $twilio->availablePhoneNumbers($iso)->tollFree->read($params);
这是回复:
" [HTTP 404]无法获取页面:找不到请求的资源/2010-04-01/Accounts/ACxxxxx/AvailablePhoneNumbers/CY/TollFree.json"
使用此代码会因CY而崩溃,但可以与英国,美国,加州等等合作。我应该在硬编码国家/地区添加if语句吗? (我真的不喜欢这个解决方案,但这是我能想到的)。我的意思是:
if ($iso == 'GB' || $iso == 'US' || $iso == 'CA') { // and many more
$tollFreeNumbers = $twilio->availablePhoneNumbers($iso)->tollFree->read($params);
}
答案 0 :(得分:1)
为什么不将它包装在try catch
?
try {
$tollFreeNumbers = $twilio->availablePhoneNumbers($iso)->tollFree->read($params);
} catch(\Exception $e) {
$tollFreeNumbers = [];
}
答案 1 :(得分:1)
Twilio开发者传道者在这里。
为了不捕捉错误并向用户返回一条消息说免费电话号码,而不是在有条件的情况下(可能会因为我们将来在其他国家/地区添加免费电话而过时)来预防在他们搜索的国家/地区不可用。
类似的东西:
hidden
让我知道这是否有帮助。