array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'de', ), 'this' => array ( 0 => 'reflectionproperty.getsettabletype.php', 1 => 'ReflectionProperty::getSettableType', 2 => 'Returns the parameter type of a setter hook', ), 'up' => array ( 0 => 'class.reflectionproperty.php', 1 => 'ReflectionProperty', ), 'prev' => array ( 0 => 'reflectionproperty.getrawvalue.php', 1 => 'ReflectionProperty::getRawValue', ), 'next' => array ( 0 => 'reflectionproperty.gettype.php', 1 => 'ReflectionProperty::getType', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/reflection/reflectionproperty/getsettabletype.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>
(PHP 8 >= 8.4.0)
ReflectionProperty::getSettableType — Returns the parameter type of a setter hook
Returns the parameter type of a set
hook.
If no set
hook is defined, it behaves identically
to ReflectionProperty::getType().
Diese Funktion besitzt keine Parameter.
set
hook that defines an explicit type, that will be returned.
null
if the property is untyped.
set
hook, a ReflectionType
instance for never
will be returned.
Beispiel #1 ReflectionProperty::getSettableType() example
<?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());
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
object(ReflectionNamedType)#3 (0) { } object(ReflectionUnionType)#2 (0) { } object(ReflectionNamedType)#3 (0) { } NULL