[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 メーリングリストの案内