代码之家  ›  专栏  ›  技术社区  ›  Taylor Evanson

PHP获取已定义函数的参数

  •  0
  • Taylor Evanson  · 技术社区  · 11 年前

    我正在为PHP库构建一个文档页面。我从开始 retrieving an array of defined functions from a PHP file ,它在目录遍历循环中运行得很好。

    现在我正在尝试检索该函数中定义的参数。在此示例中。。。

    function askQuestion(&$person, $question) {
      if(!$person['nice']){
        return false;
      }
      else {
        return 'Go to college';
      }
    }
    

    我希望检索以下字符串之一: &$person, $question 或者每个参数的数组?最好,我想知道它是否是一个引用变量,比如 &$person .

    我找到了 func_get_arg(s) 文档,但根据我的理解,它意味着检索正在调用的函数的参数 func_get_args() 而不是实际的参数变量名。就研究而言,我对PHP还不够了解,还不知道应该用什么术语在网上找到答案。有什么想法吗?

    1 回复  |  直到 8 年前
        1
  •  1
  •   cOle2    11 年前

    看看 ReflectionFunction 类别:

    $refFunc = new ReflectionFunction('askQuestion');
    
    $params = array();
    foreach($refFunc->getParameters() as $param){
        $params[] = $param->__toString();
    }
    
    print_r($params);
    

    输出:

    Array
    (
        [0] => Parameter #0 [ <required> &$person ]
        [1] => Parameter #1 [ <required> $question ]
    )
    

    在线演示 here .