[PHP-users 18574]Re: 引数有り関数、引数無し関数の見分け方

yuji koga koga-y @ mcp-net.com
2003年 10月 23日 (木) 16:39:23 JST


お世話になります。古賀です。

>> function func1($arg){}
>> 
>> の中で func_num_args を使ったらいかがでしょうか?
> 
> 関数をコールする前に調べたいという前提条件があるため、
> これも無理っす;;
> ごめんなさい;;

func_num_args()は、実際に渡された個数を返す関数で、
JJさんが知りたいのは、関数が引数付きで定義されているかどうか、
ですから、読み違いですね。

>●それでは済まない場合

のやり方を応用して、一枚かぶせてみるのはどうですか?

引数をとる子クラスグループのfunc1_check()メソッドを

function func1_check(){
    return TRUE;
}

引数をとらない子クラスグループのfunc1_check()メソッドを

function func1_check(){
    return FALSE;
}

とした上で、上位クラスで

function func1_Interface($arg){
    if($this->func1_check()){
        $this->func1();
    } else {
        $this->func1($arg);
    }
}

と一枚かぶせておいて、使用時には

function main(){
    $this->func1_Interface($arg)
}

の一行で済ませるようにすれば、いいのかなぁ。
なんか回りくどくて済みません。

ここまで書いた時にちょうど届いた、
きしださんのやり方か、
いしげさんの

> ChildTest1::func1() の方もとりあえず引数を取るようにしてしまい,
> Test::main() から呼ぶ時には無差別に引数を与えてやる,

方が良いかも知れません。

#本筋から離れますが、[PHP-users 18564]で大ボケタイプミス。
function func1($arg = NULL){
ですね(^_^;)

<? /*********************************
株式会社メディアプレス   制作課  古賀裕二
       会社:koga-y @ mcp-net.com
       自宅:yuuukunn @ h7.dion.ne.jp
*********************************/ ?>



PHP-users メーリングリストの案内