2015-09-30 71 views
0

我使用的模具時,我得到一個錯誤,停止過程:頂替死停止過程

主類:

class myClass { 

    public function myMethod() { 

     $helper->checkParameter($thisParameterCanNotBeEmpty); 

    } 

} 

和我的助手

class control { 

    public function checkParameter ($param) { 

     if ($param == "") { 

      echo "parameter can not be empty"; 
      die; 

     } 

    } 

} 

一樣,如果該參數是空的我有一個錯誤消息,並停止進程。

但我的問題是現在我想使用單元測試(使用PHPUnit)和死停止進程(好)和單元測試執行(不好)。

使用Zend 1.12,是否有可能通過調用視圖或其他東西來停止進程而不是殺死所有的php進程?

Thx

+2

從來沒有聽說過[例外](http://php.net/manual/en/language.exceptions.php)? – Federkun

+0

我同意@Leggendario,你應該在這裏使用例外。它們是單元測試的。 – fpietka

回答

0

就像@Leggendario說的,使用必須使用異常。

class control 
{ 
    public function checkParameter ($param) 
    { 
     if ($param == "") { 
      throw new \Exception("parameter can not be empty"); 
     } 
    } 
} 

\Exception告訴PHP使用其內置的命名空間,異常之前。

1

而不是

if($param == "") { 
} 

可以使用

if(!empty($param)) { 
    //your normal code flow 
    } else { 
    throw new \Exception("parameter can not be empty"); 
    } 

它更準確。

+0

是的,你是對的,壞習慣 – Paul