php8.5
Home/ Manual/ reflection / reflectionparameter/ ReflectionParameter::__construct

ReflectionParameter::__construct

PHP function Edit on GitHub ✎

(PHP 5, PHP 7, PHP 8)

Construct

Description

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

Constructs a ReflectionParameter instance.

Parameters

function

The function to reflect parameters from.

param

Either an Integer specifying the position of the parameter (starting with zero), or the parameter name as String.

Examples

Using the ReflectionParameter class

php
<?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(
        "-- Parameter #%d: %s {\n".
        "   Class: %s\n".
        "   Allows NULL: %s\n".
        "   Passed to by reference: %s\n".
        "   Is optional?: %s\n".
        "}\n",
        $i, // $param->getPosition() can be used
        $param->getName(),
        var_export($param->getClass(), 1),
        var_export($param->allowsNull(), 1),
        var_export($param->isPassedByReference(), 1),
        $param->isOptional() ? 'yes' : 'no'
    );
}
?>

The above example will output something similar to:

output
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 ]
  }
}
-- Parameter #0: a {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}
-- Parameter #1: b {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}
-- Parameter #2: c {
   Class: NULL
   Allows NULL: true
   Passed to by reference: false
   Is optional?: no
}

See Also

  • ReflectionFunctionAbstract::getParameters
  • ReflectionFunction::__construct
  • ReflectionMethod::__construct
  • Constructors

Source: reference/reflection/reflectionparameter/construct.xml · from the official PHP manual (php/doc-en)