PHP Conference Nagoya 2025

ReflectionFunctionAbstract::getNumberOfParameters

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getNumberOfParametersパラメータ数を取得する

説明

public ReflectionFunctionAbstract::getNumberOfParameters(): int

関数で定義されているパラメータの数を、必須と任意の両方を含めて取得します。

パラメータ

この関数にはパラメータはありません。

戻り値

パラメータの数を返します。

参考

add a note

User Contributed Notes 2 notes

up
5
Robert Pitt ( LitePHP )
14 years ago
Working on a new MVC Application Framework i use this method to check how many arguments are required before calling the sub method!

Example

<?php
$this
->method_args_count = $this->CReflection
->getMethod($Route->getMethod())
->
getNumberOfParameters();
//Maybe be 5 but if uri is /controller/method/single_param/ we only of 1
$this->params = $Route->getParams(); //0 in some cases

if($this->method_args_count > count($this->params))
{
$this->difference = ($this->method_args_count - count($this->params));
for(
$i=0;$i<=$this->difference;$i++)
{
$this->params[] = false;
}
}

//Call the method with correct amount of params
// but as false for params that have not been passed!
call_user_func_array(array(new $this->obj,$Route->getMethod()),$this->params);
?>
up
-2
8ctopus
4 years ago
$reflection = new ReflectionFunction('implode');
echo $reflection->getNumberOfParameters();
To Top