[PHP-users 11522] Re: クラスのコンストラクタの返値について

Mashiki php-users@php.gr.jp
Fri, 15 Nov 2002 19:49:00 +0900


 Mashikiです。

PEARを継承してエラーオブジェクトを利用するのが、一番
いいと思いますけど、クラス側でスタティックメソッドを
用意して利用する側でnewを使わないのも、ひとつの方法
ではないでしょうか。

class StrCheck {
    var $in_dat_a;
    var $in_dat_b;

    function StrCheck($a, $b){
        $this->in_dat_a = $a;
        $this->in_dat_b = $b;
    }

    function CheckAndNew($a, $b){
        // ここでチェック
        if(チェックOK){
            return new StrCheck($a, $b);
        }else{
            return "エラー";
        }
    }
}

$chk = StrCheck::CheckAndNew($a, $b);
if(!is_Object($chk)){
    print $chk; // エラーメッセージ表示
} else {
    // オブジェクト利用可能
}