给定一个循环,向数组中的所有订阅发送电子邮件
foreach($subscriptions as $s){
if(!$s->send_email()){
}
}
如果所有模型都已成功邮寄或如果其中一个模型未能邮寄则显示错误,那么触发回调的最干净的方法是什么。将所有错误消息保存到循环结束并将它们作为一个整体打印,或者以错误中断循环是常见的吗?
我将它与保存项目 (/projects/1) 的 JSON REST API 结合使用,该项目又向所有用户发送电子邮件。
我现在使用的方法感觉很脏,有很多嵌套的 if else,在不同的地方发送 3 个不同的响应
if($project->save()){
$subscriptions = Subscription::model()->findAllByAttributes(array('planning_id' => $planning->id));
foreach($subscriptions as $s){
if(!$s->send_email()){
$errors[] = "failed to send email. Subscription ". $s->id;
}
}
if(count($errors) > 0){
//send json api response with error response
} else {
//send json api success response
}
} else {
//send json api response with project error response
}
我想知道关于这个的约定是什么