PHP:获取函数所需的参数数量

Sen*_*lez 9 php reflection class

这是PHP在$ this中传递给类外部函数的扩展问题

我相信这正是我正在寻找的,但它在python而不是php:以编程方式确定函数所需的参数数量 - Python

假设我有这样的函数:

function client_func($cls, $arg){ }
Run Code Online (Sandbox Code Playgroud)

当我准备调用这个函数时,我可能会在伪代码中做这样的事情:

if function's first parameter equals '$cls', then call client_func(instanceof class, $arg)
else call client_func($arg)
Run Code Online (Sandbox Code Playgroud)

所以基本上,是否有一种方法可以在调用函数之前查看函数并查看所需的参数值.

我想这就像debug_backtrace,但反过来说.

func_get_args()只能从函数中调用,这对我没有帮助.

有什么想法吗?

Kin*_*nch 17

在您的情况下使用Reflection,尤其是ReflectionFunction.

$fct = new ReflectionFunction('client_func');
echo $fct->getNumberOfRequiredParameters();
Run Code Online (Sandbox Code Playgroud)

据我所知,你会发现getParameters()也很有用

  • 他们想到了一切! (2认同)