ReflectionProperty::getSettableType
  Returns the parameter type of a setter hook
  
 
  Description
  
   public ReflectionTypenull ReflectionProperty::getSettableType()
  
   Returns the parameter type of a set hook.
   If no set hook is defined, it behaves identically
   to  ReflectionProperty::getType.
  
  
 
  Parameters
  This function has no parameters.
  
 
  Return Values
  
   - 
    This method returns an instance of ReflectionType that matches
    the settable type for the property.
   
- 
    If there is a sethook 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 nullif the property is untyped.
- 
    If the property is virtual and has no sethook, a ReflectionType
    instance forneverwill be returned.
 
 
  Examples
  
   Example #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());
?>
 
   The above example will output:
object(ReflectionNamedType)#3 (0) {
}
object(ReflectionUnionType)#2 (0) {
}
object(ReflectionNamedType)#3 (0) {
}
NULL
 
   
  
 
  See Also
  
   -  ReflectionProperty::getType