The note about the signature of the ReflectionParameter constructor is actually incomplete, at least in 5.2.5: it is possible to use an integer for the second parameter, and the constructor will use it to return the n-th parameter.
This allows you to obtain proper ReflectionParameter objects even when documenting code from extensions which (strangely enough) define several parameters with the same name. The string-based constructor always returns the first parameter with the matching name, whereas the integer-based constructor correctly returns the n-th parameter.
So, in short, this works:
<?php
// supposing the extension defined something like:
// Some_Class::someMethod($a, $x, $y, $x, $y)
$p = new ReflectionParameter(array('Some_Class', 'someMethod'), 4);
// returns the last parameter, whereas
$p = new ReflectionParameter(array('Some_Class', 'someMethod'), 'y');
// always returns the first $y at position 2
?>
PHP.mk документација
ReflectionParameter
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
class.reflectionparameter.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
class.reflectionparameter.php
ReflectionParameter
Референца за `class.reflectionparameter.php` со подобрена типографија и навигација.
Класата ReflectionParameter
класата mysqli_driver
Вовед
На ReflectionParameter класата ги добива информациите за параметрите на функцијата или методот.
За да ги интроспектирате параметрите на функцијата, прво креирајте инстанца на ReflectionFunction or ReflectionMethod класите и потоа користете го нивниот ReflectionFunctionAbstract::getParameters() метод за добивање на низа од параметри.
Синопсис на класата
/* Својства */
/* Методи */
}Својства
- name
-
Име на параметарот. Само за читање, фрла ReflectionException при обид за пишување.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 | ReflectionParameter::export() Враќа ODBC резултат објект ако SQL командата беше успешно извршена, или |
Содржина
- ReflectionParameter::allowsNull — Проверува дали е дозволен null
- ReflectionParameter::canBePassedByValue — Враќа дали овој параметар може да се помине по вредност
- ReflectionParameter::__clone — Клонирај
- ReflectionParameter::__construct — Конструирај
- ReflectionParameter::export — Експортира
- ReflectionParameter::getAttributes — Добива атрибути
- ReflectionParameter::getClass — Земи ReflectionClass објект за параметарот што се рефлектира или null
- ReflectionParameter::getDeclaringClass — Добива класа што ја декларира
- ReflectionParameter::getDeclaringFunction — Го добива функцијата што го декларира
- ReflectionParameter::getDefaultValue — Го добива стандардното име на параметарот
- ReflectionParameter::getDefaultValueConstantName — Го враќа името на константата на стандардната вредност ако стандардната вредност е константа или null
- ReflectionParameter::getName — Го добива името на параметарот
- ReflectionParameter::getPosition — Го добива редоследот на параметарот
- ReflectionParameter::getType — Го добива типот на параметарот
- ReflectionParameter::hasType — Проверува дали параметарот има тип
- ReflectionParameter::isArray — Проверува дали параметарот очекува низа
- ReflectionParameter::isCallable — Враќа дали параметарот МОРА да биде повикувачки
- ReflectionParameter::isDefaultValueAvailable — Проверува дали е достапна стандардна вредност
- ReflectionParameter::isDefaultValueConstant — Враќа дали стандардната вредност на овој параметар е константа
- ReflectionParameter::isOptional — Проверува дали е опционален
- ReflectionParameter::isPassedByReference — Проверува дали е предаден преку референца
- ReflectionParameter::isPromoted — Проверува дали параметарот е промовиран во својство
- ReflectionParameter::isVariadic — Проверува дали параметарот е варијаден
- ReflectionParameter::__toString — Стринг
Белешки од корисници 4 белешки
fgm на riff точка org ¶
пред 17 години
killgecNOFSPAM на gmail точка com ¶
пред 18 години
Signature of constructor of ReflectionParameter correctly is:
public function __construct(array/string $function, string $name);
where $function is either a name of a global function, or a class/method name pair.
massimo на mmware точка it ¶
пред 18 години
I found these limitations using class ReflectionParameter from ReflectionFunction with INTERNAL FUNCTIONS (eg print_r, str_replace, ... ) :
1. parameter names don't match with manual: (try example 19.35 with arg "call_user_func" )
2. some functions (eg PCRE function, preg_match etc) have EMPTY parameter names
3. calling getDefaultValue on Parameters will result in Exception "Cannot determine default value for internal functions"
расмус на mindplay точка дк ¶
пред 2 години
There are so many parameter modes now, and I needed to know exactly what `ReflectionParameter` is going to return, so I wrote a little test-script - you can find the script and results in a table here:
https://gist.github.com/mindplay-dk/082458088988e32256a827f9b7491e17