ReflectionProperty::getSettableType

(PHP 8 >= 8.4.0)

ReflectionProperty::getSettableTypeRenvoie le type de paramètre d'un hook setter

Description

public ReflectionProperty::getSettableType(): ?ReflectionType

Renvoie le type de paramètre d'un hook set. Si aucun hook set n'est défini, se comporte de manière identique à ReflectionProperty::getType().

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

  • Cette méthode renvoie une instance de ReflectionType qui correspond au type définissable pour la propriété.
  • S'il existe un hook set qui définit un type explicite, celui-ci sera renvoyé.
  • Si le hook ne spécifie pas de type, ou s'il n'existe pas, le type de la propriété sera renvoyé, de manière identique à ReflectionProperty::getType(). Cette valeur peut être null si la propriété n'est pas typée.
  • Si la propriété est virtuelle et n'a pas de hook set, une instance de ReflectionType pour never sera renvoyée.

Exemples

Exemple #1 Exemple de 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());

?>

L'exemple ci-dessus va afficher :

object(ReflectionNamedType)#3 (0) {
}
object(ReflectionUnionType)#2 (0) {
}
object(ReflectionNamedType)#3 (0) {
}
NULL

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top