这是PHP pass in $this to function outside class的扩展问题
而且我相信这是我正在寻找的东西,但它在python中而不是php中:Programmatically determining amount of parameters a function requires - Python
假设我有一个像这样的函数:
function client_func($cls, $arg){ }
当我准备调用此函数时,我可能会在伪代码中执行以下操作:
if function's first parameter equals '$cls', then call client_func(instanceof class, $arg)
else call client_func($arg)
因此,基本上,有没有一种方法可以提前调用函数并在调用函数之前查看需要哪些参数值?
我想这就像
debug_backtrace()
,但是反过来。只能从一个函数中调用
func_get_args()
,但这对我没有帮助。有什么想法吗?
最佳答案
在您的情况下,请使用Reflection,尤其是ReflectionFunction。
$fct = new ReflectionFunction('client_func');
echo $fct->getNumberOfRequiredParameters();
据我所知,您也会发现getParameters()也很有用
关于php - 获取函数需要的参数数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7774740/