ReflectionFunctionAbstract::getNumberOfParameters
(PHP 5 >= 5.0.3)
ReflectionFunctionAbstract::getNumberOfParameters — Получает количество аргументов
Описание
public int ReflectionFunctionAbstract::getNumberOfParameters
( void
)
Получение количества аргументов в определении функции как обязательных, так и опциональных.
Внимание
К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.
Список параметров
У этой функции нет параметров.
Возвращаемые значения
Число аргументов.
Смотрите также
- ReflectionFunctionAbstract::getNumberOfRequiredParameters() - Получает количество обязательных аргументов
- func_num_args() - Возвращает количество аргументов, переданных функции
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения, относящиеся к переменным и типам
- Reflection
- Функция ReflectionFunctionAbstract::__clone() - Копирующий конструктор
- Функция ReflectionFunctionAbstract::getClosureScopeClass() - Returns the scope associated to the closure
- Функция ReflectionFunctionAbstract::getClosureThis() - Возвращает указатель this замыкания
- Функция ReflectionFunctionAbstract::getDocComment() - Получает документируемый комментарий
- Функция ReflectionFunctionAbstract::getEndLine() - Получает номер строки завершения описания функции
- Функция ReflectionFunctionAbstract::getExtension() - Получает информацию о расширении
- Функция ReflectionFunctionAbstract::getExtensionName() - Получение имени расширения
- Функция ReflectionFunctionAbstract::getFileName() - Получает имя файла
- Функция ReflectionFunctionAbstract::getName() - Получает имя функции
- Функция ReflectionFunctionAbstract::getNamespaceName() - Получение имени пространства имен
- Функция ReflectionFunctionAbstract::getNumberOfParameters() - Получает количество аргументов
- Функция ReflectionFunctionAbstract::getNumberOfRequiredParameters() - Получает количество обязательных аргументов
- Функция ReflectionFunctionAbstract::getParameters() - Получает аргументы
- ReflectionFunctionAbstract::getReturnType
- Функция ReflectionFunctionAbstract::getShortName() - Получает короткое имя функции
- Функция ReflectionFunctionAbstract::getStartLine() - Получает начальный номер строки
- Функция ReflectionFunctionAbstract::getStaticVariables() - Получает статические переменные
- ReflectionFunctionAbstract::hasReturnType
- Функция ReflectionFunctionAbstract::inNamespace() - Проверяет, находится ли функция в пространстве имен
- Функция ReflectionFunctionAbstract::isClosure() - Проверяет, является ли функция замыканием
- Функция ReflectionFunctionAbstract::isDeprecated() - Проверяет, является ли функция устаревшей
- Функция ReflectionFunctionAbstract::isGenerator() - Returns whether this function is a generator
- Функция ReflectionFunctionAbstract::isInternal() - Проверяет, является ли функция внутренней
- Функция ReflectionFunctionAbstract::isUserDefined() - Проверяет, является ли функция определенной пользователем
- ReflectionFunctionAbstract::isVariadic
- Функция ReflectionFunctionAbstract::returnsReference() - Проверяет, что функция возвращает ссылку
- Функция ReflectionFunctionAbstract::__toString() - Преобразование в строку
Коментарии
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);
?>
$reflection = new ReflectionFunction('implode');
echo $reflection->getNumberOfParameters();