0

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() メソッドはメッセージを返しません。誰でも理由を説明できますか?

4

1 に答える 1

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();
    }

}
于 2012-04-06T20:57:33.770 に答える