(PHP 8 >= 8.4.0)
ReflectionProperty::getSettableType — set フックのパラメータの型を返す
   set フックに指定されたパラメータの型を返します。
   set フックが定義されていない場合、
   ReflectionProperty::getType() と同じ振る舞いをします。
  
この関数にはパラメータはありません。
set フックが存在する場合、
    その型を返します。
   null を返す可能性があります。
   set フックが存在しない場合、
    never に対応する ReflectionType
    を返します。
   例1 ReflectionProperty::getSettableType() の例
<?php
class Example
{
    public string $basic {
        set => strtolower($value);
    }
    public string $wider {
        set(string|Stringable $value) => (string) $value;
    }
    public string $virtual {
        get => 'Do not change this';
    }
    public $untyped = 'silly';
}
$rClass = new \ReflectionClass(Example::class);
var_dump($rClass->getProperty('basic')->getSettableType());
var_dump($rClass->getProperty('wider')->getSettableType());
var_dump($rClass->getProperty('virtual')->getSettableType());
var_dump($rClass->getProperty('untyped')->getSettableType());
?>上の例の出力は以下となります。
object(ReflectionNamedType)#3 (0) {
}
object(ReflectionUnionType)#2 (0) {
}
object(ReflectionNamedType)#3 (0) {
}
NULL
