# Модуль интроспекции кода Reflection

# Введение

PHP поставляется с полным API рефлексии, который открывает доступ к интроспекции классов, интерфейсов, функций, методов и модулей. API модуля Reflection умеет извлекать doc-блоки комментариев к функциям, классам и методам.

Обратите внимание, отдельные части внутреннего API языка не содержат кода, который требуется для работы с модулем Reflection. Свойства ряда внутренних PHP-классов не содержат данных для отражения. Недоступность данных для рефлексии рассматривается как ошибка, поэтому такие случаи выявляют и исправляют.

- Примеры
- Расширение
- Reflection — Класс Reflection
  - Reflection::export — Экспортирует Reflection
  - Reflection::getModifierNames — Получение имён модификаторов
- ReflectionClass — Класс ReflectionClass
  - ReflectionClass::__construct — Создаёт объект класса ReflectionClass
  - ReflectionClass::export — Экспортирует класс
  - ReflectionClass::getAttributes — Получает атрибуты
  - ReflectionClass::getConstant — Возвращает определённую константу
  - ReflectionClass::getConstants — Возвращает константы
  - ReflectionClass::getConstructor — Возвращает конструктор класса
  - ReflectionClass::getDefaultProperties — Возвращает свойства по умолчанию
  - ReflectionClass::getDocComment — Возвращает doc-блоки комментариев
  - ReflectionClass::getEndLine — Возвращает номер последней строки
  - ReflectionClass::getExtension — Возвращает объект класса ReflectionExtension для модуля, определяющего класс
  - ReflectionClass::getExtensionName — Возвращает имя модуля, определяющее класс
  - ReflectionClass::getFileName — Возвращает имя файла, в котором определён класс
  - ReflectionClass::getInterfaceNames — Возвращает имена интерфейсов
  - ReflectionClass::getInterfaces — Возвращает интерфейсы
  - ReflectionClass::getLazyInitializer — Получает ленивый инициализатор
  - ReflectionClass::getMethod — Возвращает экземпляр ReflectionMethod для метода класса
  - ReflectionClass::getMethods — Возвращает список методов в виде массива
  - ReflectionClass::getModifiers — Возвращает информацию о модификаторах класса
  - ReflectionClass::getName — Возвращает имя класса
  - ReflectionClass::getNamespaceName — Возвращает название пространства имён
  - ReflectionClass::getParentClass — Возвращает родительский класс
  - ReflectionClass::getProperties — Возвращает свойства
  - ReflectionClass::getProperty — Возвращает экземпляр ReflectionProperty для свойства класса
  - ReflectionClass::getReflectionConstant — Получает экземпляр класса ReflectionClassConstant для константы класса
  - ReflectionClass::getReflectionConstants — Получает константы класса
  - ReflectionClass::getShortName — Возвращает короткое имя
  - ReflectionClass::getStartLine — Возвращает номер начальной строки
  - ReflectionClass::getStaticProperties — Возвращает статические свойства
  - ReflectionClass::getStaticPropertyValue — Возвращает значение статического свойства
  - ReflectionClass::getTraitAliases — Возвращает массив псевдонимов трейтов
  - ReflectionClass::getTraitNames — Возвращает массив имён трейтов, используемых в этом классе
  - ReflectionClass::getTraits — Возвращает массив трейтов, внедрённых в класс
  - ReflectionClass::hasConstant — Проверяет, определена ли константа
  - ReflectionClass::hasMethod — Проверяет, задан ли метод
  - ReflectionClass::hasProperty — Проверяет, определено ли свойство
  - ReflectionClass::implementsInterface — Проверяет, реализуется ли интерфейс
  - ReflectionClass::initializeLazyObject — Принудительно инициализирует ленивый объект
  - ReflectionClass::inNamespace — Проверяет, в пространстве ли имён определили класс
  - ReflectionClass::isAbstract — Проверяет, абстрактный ли класс
  - ReflectionClass::isAnonymous — Проверяет, анонимный ли класс
  - ReflectionClass::isCloneable — Проверяет, можно ли клонировать этот класс
  - ReflectionClass::isEnum — Проверяет, относится ли класс к перечислениям
  - ReflectionClass::isFinal — Проверяет, окончательный ли класс
  - ReflectionClass::isInstance — Проверяет, принадлежит ли объект классу
  - ReflectionClass::isInstantiable — Проверяет, возможно ли создать экземпляр класса
  - ReflectionClass::isInterface — Проверяет, объявили ли класс как интерфейс
  - ReflectionClass::isInternal — Проверяет, относится ли класс к внутренним классам модуля или ядра
  - ReflectionClass::isIterable — Проверяет, итерируемый ли класс
  - ReflectionClass::isIterateable — Псевдоним ReflectionClass::isIterable
  - ReflectionClass::isReadOnly — Проверяет, является ли класс доступным только для чтения
  - ReflectionClass::isSubclassOf — Проверяет, относится ли класс к подклассу
  - ReflectionClass::isTrait — Проверяет, является ли это трейтом
  - ReflectionClass::isUninitializedLazyObject — Проверяет, ленив ли и неинициализирован ли объект
  - ReflectionClass::isUserDefined — Проверяет, является ли класс пользовательским
  - ReflectionClass::markLazyObjectAsInitialized — Помечает ленивый объект как инициализированный без вызова инициализатора или фабрики
  - ReflectionClass::newInstance — Создаёт экземпляр класса с переданными аргументами
  - ReflectionClass::newInstanceArgs — Создаёт экземпляр класса с переданными параметрами
  - ReflectionClass::newInstanceWithoutConstructor — Создаёт новый экземпляр класса без вызова конструктора
  - ReflectionClass::newLazyGhost — Создаёт новый экземпляр ленивого призрака
  - ReflectionClass::newLazyProxy — Создает новый экземпляр ленивого прокси
  - ReflectionClass::resetAsLazyGhost — Сбрасывает и помечает объект ленивым
  - ReflectionClass::resetAsLazyProxy — Сбрасывает и помечает объект ленивым
  - ReflectionClass::setStaticPropertyValue — Устанавливает значение общедоступного статического свойства
  - ReflectionClass::__toString — Возвращает строковое представление объекта класса ReflectionClass
- ReflectionClassConstant — Класс ReflectionClassConstant
  - ReflectionClassConstant::__construct — Создаёт объект ReflectionClassConstant
  - ReflectionClassConstant::export — Экспортирует
  - ReflectionClassConstant::getAttributes — Получает атрибуты
  - ReflectionClassConstant::getDeclaringClass — Получает объявляющий класс
  - ReflectionClassConstant::getDocComment — Получает doc-комментарии
  - ReflectionClassConstant::getModifiers — Получает модификаторы константы класса
  - ReflectionClassConstant::getName — Получает имя константы
  - ReflectionClassConstant::getType — Получает тип константы класса
  - ReflectionClassConstant::getValue — Получает значение
  - ReflectionClassConstant::hasType — Проверяет, назначили ли тип константе класса
  - ReflectionClassConstant::isDeprecated — Проверяет, пометили ли константу устаревшей
  - ReflectionClassConstant::isEnumCase — Проверяет, является ли константа класса вариантом перечисления
  - ReflectionClassConstant::isFinal — Проверяет, является ли константа класса окончательной
  - ReflectionClassConstant::isPrivate — Проверяет, является ли константа закрытой
  - ReflectionClassConstant::isProtected — Проверяет, является ли константа защищённой
  - ReflectionClassConstant::isPublic — Проверяет, является ли константа общедоступной
  - ReflectionClassConstant::__toString — Возвращает строковое представление объекта ReflectionClassConstant
- ReflectionConstant — Класс ReflectionConstant
  - ReflectionConstant::__construct — Создаёт объект класса ReflectionConstant
  - ReflectionConstant::getExtension — Получает объект класса ReflectionExtension определяющего модуль
  - ReflectionConstant::getExtensionName — Получает имя модуля
  - ReflectionConstant::getFileName — Получает имя файла
  - ReflectionConstant::getName — Получает имя константы
  - ReflectionConstant::getNamespaceName — Получает имя пространства имён
  - ReflectionConstant::getShortName — Получает короткое имя
  - ReflectionConstant::getValue — Получает значение
  - ReflectionConstant::isDeprecated — Проверяет, не устарела ли константа
  - ReflectionConstant::__toString — Возвращает строковое представление
- ReflectionEnum — Класс ReflectionEnum
  - ReflectionEnum::__construct — Создаёт объект ReflectionEnum
  - ReflectionEnum::getBackingType — Получает тип перечисления с типом поддержки
  - ReflectionEnum::getCase — Возвращает конкретный вариант перечисления
  - ReflectionEnum::getCases — Возвращает список вариантов перечисления
  - ReflectionEnum::hasCase — Проверяет вариант перечисления
  - ReflectionEnum::isBacked — Определяет, типизировали ли перечисление
- ReflectionEnumUnitCase — Класс ReflectionEnumUnitCase
  - ReflectionEnumUnitCase::__construct — Создаёт экземпляр объекта ReflectionEnumUnitCase
  - ReflectionEnumUnitCase::getEnum — Получает Reflection-объект перечисления этого варианта
  - ReflectionEnumUnitCase::getValue — Получает объект варианта перечисления, описанный Reflection-объектом
- ReflectionEnumBackedCase — Класс ReflectionEnumBackedCase
  - ReflectionEnumBackedCase::__construct — Создаёт объект ReflectionEnumBackedCase
  - ReflectionEnumBackedCase::getBackingValue — Получает скалярное значение варианта перечисления
- ReflectionZendExtension — Класс ReflectionZendExtension
  - ReflectionZendExtension::__clone — Обработчик клонирования
  - ReflectionZendExtension::__construct — Создаёт объект ReflectionZendExtension
  - ReflectionZendExtension::export — Экспорт
  - ReflectionZendExtension::getAuthor — Получает автора
  - ReflectionZendExtension::getCopyright — Получает авторские права
  - ReflectionZendExtension::getName — Получает имя
  - ReflectionZendExtension::getURL — Получает URL
  - ReflectionZendExtension::getVersion — Получает версию
  - ReflectionZendExtension::__toString — Обработчик преобразования в строку
- ReflectionExtension — Класс ReflectionExtension
  - ReflectionExtension::__clone — Клонирует объект
  - ReflectionExtension::__construct — Создаёт объект класса ReflectionExtension
  - ReflectionExtension::export — Экспортирует модуль
  - ReflectionExtension::getClasses — Возвращает классы
  - ReflectionExtension::getClassNames — Получение имён классов
  - ReflectionExtension::getConstants — Получение констант
  - ReflectionExtension::getDependencies — Получение зависимостей
  - ReflectionExtension::getFunctions — Получение функций модуля
  - ReflectionExtension::getINIEntries — Получение ini-настроек модуля
  - ReflectionExtension::getName — Получение имени модуля
  - ReflectionExtension::getVersion — Получение версии модуля
  - ReflectionExtension::info — Выводит информацию о модуле
  - ReflectionExtension::isPersistent — Определяет, является ли модуль постоянным
  - ReflectionExtension::isTemporary — Определяет, является ли модуль временным
  - ReflectionExtension::__toString — Преобразование в строку
- ReflectionFunction — Класс ReflectionFunction
  - ReflectionFunction::__construct — Конструктор класса ReflectionFunction
  - ReflectionFunction::export — Экспортирует функции
  - ReflectionFunction::getClosure — Возвращает динамически созданное замыкание для функции
  - ReflectionFunction::invoke — Вызывает функцию
  - ReflectionFunction::invokeArgs — Вызов функции с передачей аргументов
  - ReflectionFunction::isAnonymous — Проверяет, является ли функция анонимной
  - ReflectionFunction::isDisabled — Проверяет, отключили ли функцию
  - ReflectionFunction::__toString — Возвращает строковое представление объекта ReflectionFunction
- ReflectionFunctionAbstract — Класс ReflectionFunctionAbstract
  - ReflectionFunctionAbstract::__clone — Клонирует функцию
  - ReflectionFunctionAbstract::getAttributes — Получает атрибуты
  - ReflectionFunctionAbstract::getClosureCalledClass — Возвращает класс, который соответствует разрешению static:: внутри замыкания
  - ReflectionFunctionAbstract::getClosureScopeClass — Возвращает класс, который соответствует области видимости внутри замыкания
  - ReflectionFunctionAbstract::getClosureThis — Возвращает объект, который соответствует псевдопеременной $this внутри замыкания
  - ReflectionFunctionAbstract::getClosureUsedVariables — Возвращает массив используемых в замыкании переменных
  - ReflectionFunctionAbstract::getDocComment — Получает doc-комментарий
  - ReflectionFunctionAbstract::getEndLine — Получает номер строки завершения описания функции
  - ReflectionFunctionAbstract::getExtension — Получает информацию о модуле
  - ReflectionFunctionAbstract::getExtensionName — Получение имени модуля
  - ReflectionFunctionAbstract::getFileName — Получает имя файла
  - ReflectionFunctionAbstract::getName — Получает имя функции
  - ReflectionFunctionAbstract::getNamespaceName — Получение имени пространства имён
  - ReflectionFunctionAbstract::getNumberOfParameters — Получает количество параметров
  - ReflectionFunctionAbstract::getNumberOfRequiredParameters — Получает количество обязательных параметров
  - ReflectionFunctionAbstract::getParameters — Получает параметры
  - ReflectionFunctionAbstract::getReturnType — Получает объявленный тип возвращаемого функцией значения
  - ReflectionFunctionAbstract::getShortName — Получает короткое имя функции
  - ReflectionFunctionAbstract::getStartLine — Получает начальный номер строки
  - ReflectionFunctionAbstract::getStaticVariables — Получает статические переменные
  - ReflectionFunctionAbstract::getTentativeReturnType — Возвращает отражение предварительного типа возврата метода
  - ReflectionFunctionAbstract::hasReturnType — Проверяет, содержит ли объявление функции тип возвращаемого значения
  - ReflectionFunctionAbstract::hasTentativeReturnType — Определяет, предварителен ли тип возврата метода
  - ReflectionFunctionAbstract::inNamespace — Проверяет, находится ли функция в пространстве имён
  - ReflectionFunctionAbstract::isClosure — Проверяет, является ли функция замыканием (Closure)
  - ReflectionFunctionAbstract::isDeprecated — Проверяет, устарела ли функция
  - ReflectionFunctionAbstract::isGenerator — Проверяет, является ли функция генератором
  - ReflectionFunctionAbstract::isInternal — Проверяет, является ли функция внутренней
  - ReflectionFunctionAbstract::isStatic — Проверяет, является ли функция статической
  - ReflectionFunctionAbstract::isUserDefined — Проверяет, является ли функция определённой пользователем
  - ReflectionFunctionAbstract::isVariadic — Проверяет, является ли функция функцией с переменным числом аргументов
  - ReflectionFunctionAbstract::returnsReference — Проверяет, что функция возвращает ссылку
  - ReflectionFunctionAbstract::__toString — Возвращает строковое представление объекта ReflectionFunctionAbstract
- ReflectionMethod — Класс ReflectionMethod
  - ReflectionMethod::__construct — Конструктор класса ReflectionMethod
  - ReflectionMethod::createFromMethodName — Создаёт объект класса ReflectionMethod
  - ReflectionMethod::export — Экспортирует отражение метода
  - ReflectionMethod::getClosure — Возвращает динамически созданное замыкание для метода
  - ReflectionMethod::getDeclaringClass — Получает класс, объявляющий отражённый метод
  - ReflectionMethod::getModifiers — Получает модификаторы метода
  - ReflectionMethod::getPrototype — Получает прототип метода (если такой есть)
  - ReflectionMethod::hasPrototype — Определяет, есть ли у метода прототип
  - ReflectionMethod::invoke — Вызов
  - ReflectionMethod::invokeArgs — Вызов метода с передачей аргументов массивом
  - ReflectionMethod::isAbstract — Проверяет, является ли метод абстрактным
  - ReflectionMethod::isConstructor — Проверяет, является ли метод конструктором
  - ReflectionMethod::isDestructor — Проверяет, является ли метод деструктором
  - ReflectionMethod::isFinal — Проверяет, является ли метод окончательным
  - ReflectionMethod::isPrivate — Проверяет, является ли метод закрытым
  - ReflectionMethod::isProtected — Проверяет, является ли метод защищённым
  - ReflectionMethod::isPublic — Проверяет, является ли метод общедоступным
  - ReflectionMethod::setAccessible — Делает метод доступным
  - ReflectionMethod::__toString — Возвращает строковое представление объекта ReflectionMethod
- ReflectionNamedType — Класс ReflectionNamedType
  - ReflectionNamedType::getName — Получает имя типа в виде строки
  - ReflectionNamedType::isBuiltin — Проверяет, является ли тип встроенным
- ReflectionObject — Класс ReflectionObject
  - ReflectionObject::__construct — Конструктор класса ReflectionObject
  - ReflectionObject::export — Экспорт
- ReflectionParameter — Класс ReflectionParameter
  - ReflectionParameter::allowsNull — Проверяет, допустимо ли значение null для параметра
  - ReflectionParameter::canBePassedByValue — Проверяет, по значению ли параметр принимает аргумент
  - ReflectionParameter::__clone — Клонирует
  - ReflectionParameter::__construct — Конструктор
  - ReflectionParameter::export — Экспорт
  - ReflectionParameter::getAttributes — Получает атрибуты
  - ReflectionParameter::getClass — Получает объект ReflectionClass для отражаемого параметра или null
  - ReflectionParameter::getDeclaringClass — Получение объявляющего класса
  - ReflectionParameter::getDeclaringFunction — Получение объявляющей функции
  - ReflectionParameter::getDefaultValue — Получение значения по умолчанию для параметра
  - ReflectionParameter::getDefaultValueConstantName — Возвращает название константы значения по умолчанию, если значение по умолчанию — константа или null
  - ReflectionParameter::getName — Получение имени параметра
  - ReflectionParameter::getPosition — Получение позиции параметра
  - ReflectionParameter::getType — Получает тип параметра
  - ReflectionParameter::hasType — Проверяет, указали ли тип параметра
  - ReflectionParameter::isArray — Проверяет, ожидает ли параметр массив в аргументе
  - ReflectionParameter::isCallable — Проверяет, объявили ли тип параметра как callable
  - ReflectionParameter::isDefaultValueAvailable — Проверяет, доступно ли значение по умолчанию
  - ReflectionParameter::isDefaultValueConstant — Определяет, установили ли параметру константу как значение по умолчанию
  - ReflectionParameter::isOptional — Проверяет, является ли аргумент необязательным
  - ReflectionParameter::isPassedByReference — Проверяет, передан ли параметр по ссылке
  - ReflectionParameter::isPromoted — Проверяет, продвинут ли параметр до свойства объекта
  - ReflectionParameter::isVariadic — Проверяет вариативность параметра
  - ReflectionParameter::__toString — Преобразование в строку
- ReflectionProperty — Класс ReflectionProperty
  - ReflectionProperty::__clone — Клонирует
  - ReflectionProperty::__construct — Создаёт объект класса ReflectionProperty
  - ReflectionProperty::export — Экспортирует
  - ReflectionProperty::getAttributes — Получает атрибуты
  - ReflectionProperty::getDeclaringClass — Получает класс, в котором объявили свойство
  - ReflectionProperty::getDefaultValue — Возвращает значение по умолчанию, которое объявили для свойства
  - ReflectionProperty::getDocComment — Получает doc-комментарий свойства
  - ReflectionProperty::getHook — Возвращает объект рефлексии хука
  - ReflectionProperty::getHooks — Возвращает массив хуков свойства
  - ReflectionProperty::getModifiers — Получает модификаторы свойства
  - ReflectionProperty::getName — Получает имя свойства
  - ReflectionProperty::getRawValue — Возвращает значение свойства в обход хука get, если такой определили
  - ReflectionProperty::getSettableType — Возвращает тип параметра хука set
  - ReflectionProperty::getType — Получает тип свойства
  - ReflectionProperty::getValue — Получает значение
  - ReflectionProperty::hasDefaultValue — Проверяет, задано ли для свойства значение по умолчанию
  - ReflectionProperty::hasHook — Возвращает информацию о том, определили ли для свойства хук
  - ReflectionProperty::hasHooks — Возвращает информацию о том, определили ли для свойства хотя бы один хук
  - ReflectionProperty::hasType — Проверяет, есть ли у свойства тип
  - ReflectionProperty::isAbstract — Определяет, абстрактно ли свойство
  - ReflectionProperty::isDefault — Проверяет, является ли значение свойством по умолчанию
  - ReflectionProperty::isDynamic — Проверяет, является ли свойство динамическим
  - ReflectionProperty::isFinal — Определяет, окончательно ли свойство
  - ReflectionProperty::isInitialized — Проверяет, инициализировали ли свойство
  - ReflectionProperty::isLazy — Проверяет, лениво ли свойство
  - ReflectionProperty::isPrivate — Проверяет, является ли свойство закрытым
  - ReflectionProperty::isPrivateSet — Проверяет закрытость свойства для записи
  - ReflectionProperty::isPromoted — Проверяет, определено ли свойство в конструкторе
  - ReflectionProperty::isProtected — Проверяет, является ли свойство защищённым
  - ReflectionProperty::isProtectedSet — Проверяет защищённость свойства для записи
  - ReflectionProperty::isPublic — Проверяет, общедоступно ли свойство
  - ReflectionProperty::isReadOnly — Проверяет, является ли свойство readonly-свойством
  - ReflectionProperty::isStatic — Проверяет, определили ли свойство статическим
  - ReflectionProperty::isVirtual — Определяет, виртуально ли свойство
  - ReflectionProperty::setAccessible — Устанавливает доступность свойства
  - ReflectionProperty::setRawValue — Устанавливает значение свойству в обход хука set, если такой хук определили
  - ReflectionProperty::setRawValueWithoutLazyInitialization — Устанавливает необработанное значение свойства без запуска ленивой инициализации
  - ReflectionProperty::setValue — Устанавливает значение свойству
  - ReflectionProperty::skipLazyInitialization — Помечает свойство как неленивое
  - ReflectionProperty::__toString — Преобразовывает экземпляр свойства в строку
- ReflectionType — Класс ReflectionType
  - ReflectionType::allowsNull — Проверяет, допустим ли NULL
  - ReflectionType::__toString — Получает название типа параметра
- ReflectionUnionType — Класс ReflectionUnionType
  - ReflectionUnionType::getTypes — Возвращает типы, включённые в тип union
- ReflectionGenerator — Класс ReflectionGenerator
  - ReflectionGenerator::__construct — Конструктор ReflectionGenerator
  - ReflectionGenerator::getExecutingFile — Получает имя файла, из которого запустили генератор
  - ReflectionGenerator::getExecutingGenerator — Получает запущенный объект класса Generator
  - ReflectionGenerator::getExecutingLine — Получает текущую строку, которую выполняет генератор
  - ReflectionGenerator::getFunction — Получает имя функции генератора
  - ReflectionGenerator::getThis — Получает значение $this генератора
  - ReflectionGenerator::getTrace — Получает трассировку запущенного генератора
  - ReflectionGenerator::isClosed — Проверяет, завершилось ли выполнение
- ReflectionFiber — Класс ReflectionFiber
  - ReflectionFiber::__construct — Создаёт объект ReflectionFiber
  - ReflectionFiber::getCallable — Получает вызываемый объект, используемый для создания файбера
  - ReflectionFiber::getExecutingFile — Получает имя файла текущей точки выполнения
  - ReflectionFiber::getExecutingLine — Получает номер строки текущей точки выполнения
  - ReflectionFiber::getFiber — Получает отражённый экземпляр файбера
  - ReflectionFiber::getTrace — Получает обратную трассировку текущей точки выполнения
- ReflectionIntersectionType — Класс ReflectionIntersectionType
  - ReflectionIntersectionType::getTypes — Возвращает пересекающиеся типы
- ReflectionReference — Класс ReflectionReference
  - ReflectionReference::__construct — Закрытый конструктор, запрещающий создание экземпляра напрямую
  - ReflectionReference::fromArrayElement — Создаёт объект ReflectionReference из элемента массива
  - ReflectionReference::getId — Получает уникальный идентификатор ссылки
- ReflectionAttribute — Класс ReflectionAttribute
  - ReflectionAttribute::__construct — Закрытый конструктор, запрещающий создание объекта напрямую
  - ReflectionAttribute::getArguments — Возвращает аргументы, переданные атрибуту
  - ReflectionAttribute::getName — Возвращает имя атрибута
  - ReflectionAttribute::getTarget — Возвращает цель атрибута в виде битовой маски
  - ReflectionAttribute::isRepeated — Определяет, был ли атрибут с таким именем указан многократно в элементе кода
  - ReflectionAttribute::newInstance — Создаёт экземпляр класса атрибута, используя содержащиеся в объекте ReflectionAttribute имя класса и аргументы
- Reflector — Интерфейс Reflector
  - Reflector::export — Определяет сигнатуру метода экспорта
- ReflectionException — Класс ReflectionException
- PropertyHookType — Перечисление PropertyHookType

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open