ReflectionProperty::getSettableType

(PHP 8 >= 8.4.0)

ReflectionProperty::getSettableTypeВозвращает тип параметра хука set

Описание

public ReflectionProperty::getSettableType(): ?ReflectionType

Метод возвращает тип параметра в хуке set. Со свойствами без хука set метод ведёт себя аналогично методу ReflectionProperty::getType().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

  • Метод возвращает экземпляр класса ReflectionType, при этом объект рефлексии соответствует типу, который хук устанавливает свойству.
  • Метод вернёт тип параметра, если в хуке set тип параметра определили явным образом.
  • Метод вернёт тип свойства, если хук не определили или определили без параметра, аналогично методу ReflectionProperty::getType(). Метод вернёт значение null, если свойство не типизировали.
  • Для виртуального свойства без хука set метод вернёт экземпляр класса ReflectionType для типа never.

Примеры

Пример #1 Пример получения типа параметра хука set методом ReflectionProperty::getSettableType()

<?php

class Example
{
public
string $basic {
set => strtolower($value);
}

public
string $wider {
set(string|Stringable $value) => (string) $value;
}

public
string $virtual {
get => 'Не изменяйте значение';
}

public
$untyped = 'нелепое значение';
}

$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());

?>

Смотрите также

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top