PHP 8.0.0 Released!

ReflectionParameter::getDefaultValue

(PHP 5 >= 5.0.3, PHP 7)

ReflectionParameter::getDefaultValueパラメータのデフォルト値を取得する

説明

public ReflectionParameter::getDefaultValue ( ) : mixed

(内部またはユーザー定義の) 関数あるいはメソッドで、パラメータのデフォルト値を取得します。 省略可能なパラメータでない場合は ReflectionException がスローされます。

パラメータ

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

返り値

パラメータのデフォルト対を返します。

変更履歴

バージョン 説明
8.0.0 ビルトイン関数 や ビルトインクラス のメソッドについても、デフォルト値を取得できるようになりました。 これより前のバージョンでは、ReflectionException がスローされていました。

例1 関数のパラメータのデフォルト値を取得する

<?php
function foo($test$bar 'baz')
{
    echo 
$test $bar;
}

$function = new ReflectionFunction('foo');

foreach (
$function->getParameters() as $param) {
    echo 
'Name: ' $param->getName() . PHP_EOL;
    if (
$param->isOptional()) {
        echo 
'Default value: ' $param->getDefaultValue() . PHP_EOL;
    }
    echo 
PHP_EOL;
}
?>

上の例の出力は以下となります。

Name: test

Name: bar
Default value: baz

参考

add a note add a note

User Contributed Notes 1 note

up
3
gmail@asmqb7
4 years ago
[Editor's note: fixed on user's request]

Getting `Uncaught ReflectionException: Internal error: Failed to retrieve the default value`?

You have to wrap this inside ->isDefaultValueAvailable().
To Top