最近、php用のカスタムMVCに取り組んでいますが、質問の1つが本当に気になりました。コントローラークラスを取得しました。クラスの特定の関数が引数を取得しているかどうかを確認し、そうでない場合はfalseを返します。
それを行う方法はありますか?php.netとgoogleで検索しましたが、何も見つかりませんでした。ありがとうございます。
最近、php用のカスタムMVCに取り組んでいますが、質問の1つが本当に気になりました。コントローラークラスを取得しました。クラスの特定の関数が引数を取得しているかどうかを確認し、そうでない場合はfalseを返します。
それを行う方法はありますか?php.netとgoogleで検索しましたが、何も見つかりませんでした。ありがとうございます。
コントローラーのメソッド内で使用して、メソッドに渡されたすべての引数のリストを取得できます。
またfunc_num_args
、メソッドに渡された引数の数を与えるだけです。
リフレクションを使用:
$reflection = new ReflectionMethod ($class_name, $method_name);
$params = $r->getParameters();
$params
ReflectionParameterオブジェクトの配列になりました
関数 func_get_args を使用
function sum(){
$s=0;
foreach(func_get_args() as $a) $s+= is_numeric($a)?$a:0;
return $s;
};
print sum(1,2,3,4,5,6); // 21