【问题标题】:How to get defined functions parameternames in PHP如何在 PHP 中获取定义的函数参数名
【发布时间】:2012-06-28 15:47:39
【问题描述】:

我正在用 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 变量中的正确亲属。

有什么办法可以实现吗?

【问题讨论】:

    标签: php function parameters get


    【解决方案1】:

    见: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
            )
    
    )
    */
    

    【讨论】:

    • 这正是我想要的!谢了哥们! :D
    【解决方案2】:

    你应该可以使用:

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

    获取此信息:)

    【讨论】:

    • 这只是来自函数内部。不过还是谢谢:)
    猜你喜欢
    • 2014-09-23
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2019-03-31
    • 2020-02-25
    • 2015-06-18
    相关资源
    最近更新 更多