ReflectionProperty::getSettableType
(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().
参数
此函数没有参数。
返回值
- This method returns an instance of ReflectionType that matches the settable type for the property.
-
If there is a
set
hook that defines an explicit type, that will be returned. -
If the hook does not specify a type, or it does not exist, the property type will be
returned, identically to ReflectionProperty::getType(). This value may be
null
if the property is untyped. -
If the property is virtual and has no
set
hook, a ReflectionType instance fornever
will be returned.
示例
示例 #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());
?>
以上示例会输出:
object(ReflectionNamedType)#3 (0) { } object(ReflectionUnionType)#2 (0) { } object(ReflectionNamedType)#3 (0) { } NULL
参见
- ReflectionProperty::getType() - Gets a property's type
+添加备注
用户贡献的备注
此页面尚无用户贡献的备注。
备份地址:http://www.lvesu.com/blog/php/reflectionproperty.getsettabletype.php