[PHP-users 14240] Re: 引数の数を調べる

WADA Masashi php-users@php.gr.jp
2003年 3月 25日 (火) 02:02:37 JST


 和田です。

>function func2($this, $b, $c = 3) {
>    $num = eval(GET_ARG_NUM);
>    var_dump($num);
>}
(snip)
> ただし function func($a, $b, $this) {...} という関数を作られた
>らアウトです。

 あわわ。自分でアウトだと言いながら、サンプルスクリプトで実践し
てました。func2($a, $b, $c = 3) に置き換えてください。

 これ以外にも「必ず関数の先頭で実行」という暗黙の制限に注意しな
いといけません。複数人で開発を行っているなら、次のようなスクリプ
トを書く人が必ず出てくるでしょう。

function func($a, $b, $c = 3) {
    $xx = 123;
    $yy = 456;
    $num = eval(GET_ARG_NUM);
    ...
    ...
}

 こういった様々な危険性を承知した上で、この手段を使う/使わない
を判断すべきかと思います。


----
和田雅志 (WADA Masashi)
wada@hh.iij4u.or.jp




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