ReflectionParameter::getDefaultValue
(PHP 5 >= 5.0.3, PHP 7, PHP 8)
ReflectionParameter::getDefaultValue — パラメータのデフォルト値を取得する
説明
(内部またはユーザー定義の) 関数あるいはメソッドで、パラメータのデフォルト値を取得します。 省略可能なパラメータでない場合は 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
参考
- ReflectionParameter::isOptional() - 省略可能であるかどうかを調べる
- ReflectionParameter::isDefaultValueAvailable() - デフォルト値が存在するかどうかを調べる
- ReflectionParameter::getDefaultValueConstantName() - デフォルト値が定数あるいは null の場合に、その定数名を返す
- ReflectionParameter::isPassedByReference() - 参照渡しかどうかを調べる
+add a note
User Contributed Notes 1 note
gmail@asmqb7 ¶
8 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().
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google