2012-04-06 101 views
0

我正在嘗試爲codeigniter創建自定義的異常類。這裏是我的代碼:爲codeigniter創建自定義的異常類

class Ci_exception extends Exception { 

    var $CI; 

    function __construct() 
    { 
     $this->CI =& get_instance(); 
    } 

    public function errorMessage() 
    { 
     log_message('error', $this->getMessage()); 
     return $this->getMessage(); 
    } 

} 

如果沒有構造函數方法,這個自定義類工作正常。使用構造方法$ this-> getMessage()方法不返回任何消息。誰能解釋爲什麼?

回答

1

您需要調用父項的構造函數;它不是在PHP中隱含的。您也可能想要接受$message參數。

class Ci_exception extends Exception { 

    var $CI; 

    function __construct($message) 
    { 
     parent::__construct($message); 
     $this->CI =& get_instance(); 
    } 

    public function errorMessage() 
    { 
     log_message('error', $this->getMessage()); 
     return $this->getMessage(); 
    } 

}