2012-04-06 4 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(); 
    } 

} 
관련 문제