dongxi1943 2012-06-13 09:53
浏览 56

当foreach循环进入变量时,PHP函数错误处理和返回

*problem/confusion on how to handle this type problem in the php object oriented coding *

I have customer class which i need to suspend services for customers, however when the customer has pending work types for a service, i need to return a false for the calling function to do the error handle (i cant do it here becos it could be a email,output, or html)

however i am confused how to handle this as if use following code it will return false only on the last condition on the foreach loop i guess, any idea on how to handle this in the coding point of view

 /**
   * return false on failier 
   * Customer suspend all services for this customer
   * 
   */
  public function suspendServices(){

    $pending=false; 

    foreach ($this->services() as $service) {

    $pending = $service->hasPendingWorktypes();

    if($pending === true) {
        return false;
    }   
    $service->state()->changeTo(8);  

    }//end of foreach services 

  }//end of function
  • 写回答

1条回答 默认 最新

  • drne47241 2012-06-13 10:12
    关注

    Exceptions is perfect for this job. The business method calling for the services can then onwards handle the part efficiently for the correct outcome.

    public function suspendServices(){
    
        $pending=false; 
    
        foreach ($this->services() as $service) {
    
        $pending = $service->hasPendingWorktypes();
    
        if($pending === true) {
            throw new PendingExcpetion(); //Throw the exception
        }   
        $service->state()->changeTo(8);  
    
        }//end of foreach services 
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里