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

} 
Смежные вопросы