PHP 8.6.0 Beta 1 is available for testing

ReflectionParameter::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::__constructКонструктор

Описание

public function ReflectionParameter::__construct(string |array |object $function, int |string $param)

Создаёт экземпляр ReflectionParameter .

Список параметров

function

Функция, параметр которой требуется отразить.

param

Либо целое число (int ), указывающее позицию параметра (начиная с нуля), либо имя параметра в виде строки (string ).

Примеры

Пример #1 Использования класса ReflectionParameter

<?php
function foo($a, $b, $c) { }
function bar(Exception $a, &$b, $c) { }
function baz(ReflectionFunction $a, $b = 1, $c = null) { }
function abc() { }
$reflect = new ReflectionFunction('foo');
echo $reflect;
foreach ($reflect->getParameters() as $i => $param) {
 printf(
 "-- Аргумент #%d: %s {\n".
 " Класс: %s\n".
 " Допускает значения NULL: %s\n".
 " Передаётся по ссылке: %s\n".
 " Необязательный?: %s\n".
 "}\n",
 $i, // можно использовать $param->getPosition()
 $param->getName(),
 var_export($param->getClass(), 1),
 var_export($param->allowsNull(), 1),
 var_export($param->isPassedByReference(), 1),
 $param->isOptional() ? 'да' : 'нет'
 );
}
?>

Вывод приведённого примера будет похож на:

Function [ <user> function foo ] {
 @@ /Users/philip/cvs/phpdoc/a 2 - 2
 - Parameters [3] {
 Parameter #0 [ <required> $a ]
 Parameter #1 [ <required> $b ]
 Parameter #2 [ <required> $c ]
 }
}
-- Аргумент #0: a {
 Класс: NULL
 Допускает значения NULL: true
 Передаётся по ссылке: false
 Необязательный?: нет
}
-- Аргумент #1: b {
 Класс: NULL
 Допускает значения NULL: true
 Передаётся по ссылке: false
 Необязательный?: нет
}
-- Аргумент #2: c {
 Класс: NULL
 Допускает значения NULL: true
 Передаётся по ссылке: false
 Необязательный?: нет
}

Смотрите также

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 1 note

up
9
tracid2008 t gmail o com
14 years ago
You also can use a class instead of a function name. Just use an array like that
<?php
$reflect = new ReflectionParameter(array('className', 'methodName'), 'property');
?>
+Добавить

AltStyle によって変換されたページ (->オリジナル) /