(PHP 8 >= 8.4.0)
ReflectionProperty::isFinal — プロパティが final かどうかを判定する
この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。
プロパティが
final
かどうかを返します。
プロパティが private(set)
としてマークされている場合、
その場合も暗黙のうちに final
と判定されます。
この関数にはパラメータはありません。
プロパティが明示的に final
とマークされている場合、true
を返します。
また、private(set)
によって暗黙のうちに
final
となっている場合も、true
を返します。
それ以外の場合は、false
を返します。
例1 ReflectionProperty::isFinal() の例
<?php
class Example
{
public string $name;
final protected int $age;
public private(set) string $job;
}
$rClass = new \ReflectionClass(Example::class);
var_dump($rClass->getProperty('name')->isFinal());
var_dump($rClass->getProperty('age')->isFinal());
var_dump($rClass->getProperty('job')->isFinal());
?>
上の例の出力は以下となります。
bool(false) bool(true) bool(true)