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 回答