0

私は PHP で MVC フレームワークを作成しており、C# MVC 4 から美しい機能を再作成しようとしています。次のように:

class MyController
{
    public function MyFunction ($id, $name)
    {
        // Do something with id and name
    }
}

この関数は、コントローラ内の関数の例です。id と name には $_GET["id"] などと同じものが含まれている必要があります。これを行うには、関数の外部から関数パラメーターの名前を知る必要があります。

擬似コード:

$myController = new MyController();
$controllerArgumentsArray = functionToGetArgumentNames($myController->MyFunction());

print_r($controllerArgumentsArray)
array([0] = "id", [1] = "name")

ここから、「call_user_func_array」を使用して、関数の値を $_GET 変数の正しい相対値に設定できるようになりました。

これを達成する方法はありますか?

4

2 に答える 2

3

参照: http://php.net/manual/class.reflectionmethod.php

class Foo
{
  public function bar($id) {
  }
}

$r = new ReflectionMethod('Foo', 'bar');
print_r($r->getParameters());

/*
Array
(
    [0] => ReflectionParameter Object
        (
            [name] => id
        )

)
*/
于 2012-06-28T15:52:31.980 に答える
0

以下を使用できるはずです。

http://php.net/manual/en/function.func-get-args.php

この情報を取得するには:)

于 2012-06-28T15:50:13.083 に答える